程序员对于MySQL数据库必须要知道的几个SQL优化的知识,虽然公司可能会有专业的DBA,但是这些知识作为程序员也是需要知道的,且有些事情DBA做不到!
1.表主键、索引最好是数字类型
2.查询数据时,避免使用“select*from......”
3.非必要,不要使用in、notin、or等关键字,除非where条件中有限定范围
4.当某个字段频繁作为查询条件的时,应将该字段设置为索引
5.联表查询时,应当将条件多的表或者数据量小的表放在前面
6.当某个字段的值为字符串形式的数组(如1,2,3),避免使用like,应该使用findinset
7.避免直接判断字段是否为空,可以使用“ifnull(字段,0)=0”
8.若涉及到数据计算,避免在查询语句中直接计算,先将数据查询出来,使用代码计算效率会更高!
9.如果查询数据时,涉及到数据转换,那么最好在存入时就存入已经转换好的数据,或者单独拎出来一个字段专门存放转换以后的数据
10.若涉及到大量数据的长时间查询,将查询拆分成多次,在代码中将查询结果合并会提高查询效率
至于为什么,欢迎探讨,您还知道哪些是程序员必须要知道的SQL优化方案吗?