mysql使用疑点

1.mysql 查询 如果查询结果超过百分之30会全表扫描,不走索引(但是我测试结果有时候有效 有时候无效)

查询结果超过表总数据的一半 还是使用到了索引

 

2.如果数据库的某个字段 就是固定的两,三个值 比如表示状态的字段 ,是否需要建立索引 (如果按照查询结果超过百分之30就没有必要建立索引的话 我认为这是不需要的),所以有疑问

 

3.where语句中使用 or,但是没有把or中所有字段加上索引。 这种情况,如果需要使用索引需要将or中所有的字段都加上索引(这里测试即使or上的所有字段都加索引也不起作用,innodb和myisam都不起作用,用公司测试有效,可能跟mysql版本有关)

 

4.mysql查询只使用一个索引,因此如果where子句中已经使用了索引的话,那么 order by中的列是不会使用索引的。因此数据库默认排序可以符合要求的情况下不要使用排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引。

 

5.隐式转换(有专门文章)

 

6.mysql语句中使用or的效率高 还是把or条件 分开效率高(无数据 没有测试)

 

7.mysql字段离散度索引的疑问

 

posted @ 2018-11-23 10:52  西伯利亚狼520  阅读(66)  评论(0)    收藏  举报