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