MySQL是目前最為流行的關系型數據庫之一,具有高效、穩定等優點,但在使用時需要注意一些細節,其中最需要關注的就是索引問題。索引是數據庫優化的關鍵之一,合理的索引可以極大地提高查詢效率,但是當表數據量較大時,索引也存在一定的局限性,那么超過多少條記錄將不走索引呢?
mysql>show variables like '%max_allowed_packet%'; +----------------------+------------+ | Variable_name | Value | +----------------------+------------+ | max_allowed_packet | 1048576 | +----------------------+------------+
從上述代碼中可以看出,在默認情況下MySQL允許的最大數據包大小是1MB。也就是說,如果我們的查詢請求超過1MB,則將不再使用索引而退化為全表掃描。
此外,MySQL還限制了一些特定語法的查詢不能走索引,包括:
- LIKE語法中通配符%或_在前綴或后綴位置
- 使用
- 使用非前綴匹配
總的來說,在使用MySQL時應該視情況而行,避免全表掃描的情況出現,提高查詢效率。