gpt4 book ai didi

php - 针对 MySQL 查询优化慢速匹配

转载 作者:行者123 更新时间:2023-11-30 22:24:14 25 4
gpt4 key购买 nike

我的 MyISAM 表有 315,000 行。我有一个关于 product_name 的全文索引。基数为 0。

query_cache_size = 20M
query_cache_type = 1
query_cache_limit = 2M

我的查询是:

select `id`,`product_name`,`description`,`price`,`image`,`colour` 
from table
where MATCH (`product_name`) AGAINST (:search)
AND `price` BETWEEN :mincost
AND :maxcost
ORDER BY `price` ASC LIMIT :start, :limit

有时我会尝试搜索,这大约需要 20 到 40 秒,通常是我第一次尝试或我已经 10 分钟以上没有尝试搜索时。其他时候它会在大约 2 秒或更短时间内返回结果。我猜这与缓存有关?类似于 Query taking very long the first time it runs 的东西

假设我的搜索变量是“test”,MySQL 是否使用变量“test”缓存查询?这样下次我搜索“测试”时,结果就会很快返回。

或者不管搜索变量是什么,它是否缓存实际的搜索查询,以便搜索的任何内容都能快速返回?

解释:

1简单的 table 全文价格,FULLTEXT_product_name全文_产品名称0无效的1个在哪里使用;使用文件排序

最佳答案

SQL_CACHE 试试这个

select SQL_CACHE id,product_name,description,price,image,colour from table where MATCH (product_name) AGAINST (:search) AND price BETWEEN :mincost AND :maxcost ORDER BY price ASC LIMIT :start, :limit

关于php - 针对 MySQL 查询优化慢速匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35773035/

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