MySQL 如何使用索引
索引用於快速找出在某個列中有一特定值的行。對相關列使用索引是提高SELECT 操作性能的最佳途徑。
查詢要使用索引最主要的條件是查詢條件中需要使用索引關鍵字,如果是多列索引,那麼只有查詢條件使用了多列關鍵字最左邊的前綴時,才可以使用索引,否則將不能使用索引。
下列情況下,MySQL 不會使用已有的索引:
1. 如果MySQL 估計使用索引比全表掃描更慢,則不使用索引。例如:如果key_part1均勻分布在1 和100 之間,下列查詢中使用索引就不是很好:
SELECT * FROM table_name where key_part1 > 1 and key_part1 < 90
2. 如果使用heap 表並且where 條件中不用=索引列,其他> 、<、>=、<=均不使用索引;
3. 如果不是索引列的第一部分;
4. 如果like 是以%開始;
5. 對where 後邊條件為字符串的一定要加引號,字符串如果為數字MySQL 會自動轉為字符串,但是不使用索引。