2
我有一個包含300 000條記錄的數據庫表。最常見的查詢是:LIKE查詢的列優化
SELECT [..] WHERE `word` LIKE 'userInput%';
當前列類型爲varchar(50) UNIQUE
。我想知道是否有一種方法來優化此特定查詢的列?
更新2011 11月19日格林尼治標準時間00:00:
mysql> EXPLAIN SELECT `word_id`, `word` FROM `words` WHERE `word` LIKE 'bar%'
-> ;
+----+-------------+-------+-------+---------------+------+---------+------+------+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+-------+---------------+------+---------+------+------+--------------------------+
| 1 | SIMPLE | words | range | word | word | 152 | NULL | 435 | Using where; Using index |
+----+-------------+-------+-------+---------------+------+---------+------+------+--------------------------+
確保「word」上存在索引。你可以通過'explain select ... where'來驗證它是否被優化了;' –
對於只有300K的記錄,如果你的索引更接近,你應該看不到任何延遲。你擔心的原因是什麼? – dkretz