手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

MySQL数据库使用时注意事项

[日期:2019-06-27] 来源:Linux社区  作者:an-wen [字体: ]

MySQL数据库使用时注意事项

建表的角度上
1、合理安排表关系
2、尽量把固定长度的字段放在前面
3、尽量使用char  代替varchar
4、分表:水平分和垂直分

在使用sql语句的时候
1、尽量用where来约束范围到一个比较小范围的程度,比如分页
2、尽量使用连表查询,而不是使用子查询
3、删除数据或者修改数据的时候尽量使用主键作为条件
4、合理创建和时候用索引

合理创建和时候用索引
正确使用索引
1、查询的条件字段不是索引字段,对哪一个字段创建了索引就对哪一个字段做条件查询
2、在创建索引的时候应该对区分度比较大的列进行创建
  1/10以下的重复率比较适合创建索引
3、范围
  范围越大越慢
  范围越小越快
  != 慢
  like 'a%' 快
  like '%a' 慢
4、条件列参与计算/使用函数
5、and 和 or
  多个条件的组合,如果使用and连接,其中一列含有索引,都可以加快查找速度
  如果使用or连接,必须所有的列都含有索引,才能加快查询速度

6、联合索引 (最左前缀原则)必须带这最左边的列作为条件,从出现范围开始整条索引失效
(id,name,email)
            select * from s1 where id = 1800000 and name = 'eva' and email = 'eva1800000@oldboy';
            select * from s1 where id = 1800000 and name = 'eva';
            select * from s1 where id = 1800000 and email = 'eva1800000@oldboy';
            select * from s1 where id = 1800000;
            select * from s1 where name = 'eva' and email = 'eva1800000@oldboy';
            (email,id,name)
            select * from s1 where id >10000 and email = 'eva1800000@oldboy';


7、条件中写出来的数据类型必须和定义的数据类型一致
  select * from biao where name = 666  # 不一致
8、select的字段应该包含order by的字段
  select name,age from 表 order by age  比较好
  select name from 表 order by age  不好

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-06/159180.htm

linux
相关资讯       MySQL数据库使用 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款