MySQL索引失效情况分析:
前几天面试官问我,MySQL索引是失效的原因有哪些,脑子突然短路,平时也没仔细考虑,现在上网搜了一些资料:
where语句使用or,not in(),not exist
使用like %在前面
使用函数或者+-*\运算 如where id+1<6;
索引列是字符串类型的,但是使用时没有加引号,如where name=123;
MySQL估计全表扫描比使用索引更快,比如使用索引获得的数据超过全表信息的30%;
索引本身失效
单独引用复合索引里非第一位置的索引列.
当变量采用的是times变量,而表的字段采用的是date变量时.或相反情况
对小表查询