gpt4 book ai didi

mysql - 在大型 mysql 查询中使用索引的最佳方法

转载 作者:行者123 更新时间:2023-11-30 01:16:23 24 4
gpt4 key购买 nike

这个 mysql 查询在一个大型(大约 200 000 条记录,41 列)myisam 表上运行:

table t1 中选择 t1.*,其中 1 和 t1.inactive = '0' 且 (t1.code like '%searchtext %' 或 t1.name 如 '%searchtext%' 或 t1.ext 如 '%searchtext%' ) order by t1.id desc限制 0, 15

id 是主索引。

我尝试在所有 3 个搜索(类似)列上添加多列索引。工作正常,但结果在网站上的自动填充 ajax 表中提供,并且 2 秒返回延迟有点太慢。

我还尝试在所有 3 列上添加单独的索引,并在所有 3 列上添加全文索引,但没有显着改进。

优化此类查询的最佳方法是什么?我想实现 1 秒以下的性能,可行吗?

最佳答案

你能做的最好的事情就是实现分页。无论你做什么,IO 成本都将是巨大的。如果您只返回一页记录,10/25/或其他会有很大帮助的。

对于索引,您需要检查计划,看看您的索引是否真正被使用。全文索引可能会有所帮助,但这取决于您返回的行数和传入的内容。使用 % 等参数确实会降低性能。如果索引以 % 结尾但不以 % 开头,您仍然可以使用索引。如果您在要搜索的文本两侧都添加 %,索引就起不了多大作用。

关于mysql - 在大型 mysql 查询中使用索引的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19018057/

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