MySQL数据库使用时注意事项

MySQL数据库使用时注意事项

建表的角度上

一、合理安排表关系
二、尽可能把固定长度的字段放在前面
三、尽可能使用char  代替varchar
四、分表:水平分和垂直分

在使用sql语句的时候

一、尽可能用where来约束范围到一个比较小范围的程度,好比分页
二、尽可能使用连表查询,而不是使用子查询
三、删除数据或者修改数据的时候尽可能使用主键做为条件
四、合理建立和时候用索引

合理建立和时候用索引

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

六、联合索引 (最左前缀原则)必须带这最左边的列做为条件,从出现范围开始整条索引失效
(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';


七、条件中写出来的数据类型必须和定义的数据类型一致
   select * from biao where name = 666   # 不一致
八、select的字段应该包含order by的字段
   select name,age from 表 order by age  比较好
   select name from 表 order by age  很差
相关文章
相关标签/搜索