gpt4 book ai didi

mysql - LIKE 查询的列优化

转载 作者:行者123 更新时间:2023-11-29 02:04:59 28 4
gpt4 key购买 nike

我有一个包含 300 000 条记录的数据库表。最常见的查询是:

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 上正常工作。

只有当您开始使用“包含”通配符搜索时,您才开始遇到索引方面的难题。

当然,附上解释计划会有所帮助...

根据解释计划,您似乎已尽力而为。这表明它正在正确使用索引,并且没有进行任何全表扫描或文件排序。

关于mysql - LIKE 查询的列优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8190548/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com