gpt4 book ai didi

php - sql查询返回时间是随机的

转载 作者:行者123 更新时间:2023-11-29 12:50:39 25 4
gpt4 key购买 nike

在网站上显示数据库结果时,我遇到了一个奇怪的问题。我的数据库有 230 万行,并且有全文索引。我用它作为查询:

SELECT * 
FROM $tbl_name
WHERE MATCH(DESCRIPTION)
AGAINST ('$search')
LIMIT $start, $limit.

结果使用 php 分页显示,这就是我使用 limit 的原因。通过 phpadmin 在实际数据库服务器上运行查询始终返回,时间低于 100 毫秒。尽管查询时间低于 100 毫秒,但仍然可能需要 2 分钟,因为当我运行查询时,它会卡在“正在加载”状态。当网页运行查询时,加载时间从 300 毫秒到 2 分钟不等。基于此,我使用 Chrome 内置的开发者控制台,发现我的 php 脚本的接收时间是问题所在。将表复制到新表并创建新的全文索引解决了 2 分钟的问题,然后又变得异常缓慢。我正在使用 hostgator 顺便说一句,我猜这就是问题所在。如果有人知道为什么它如此随机,我将不胜感激,因为 2 分钟运行搜索是 Not Acceptable ^.^,非常感谢!

最佳答案

如果这是共享网络服务器,则可能是其他人的站点使服务器陷入困境。也许您需要一个专用服务器?

您还可以尝试对数据库反复运行查询几次,看看在前 2 分钟后性能是否会下降,就像您通过 php 注意到的那样。

此外,通常 200 万行对于 MySQL 来说已经很多了,而且对于带有 MySQL 的 FULLTEXT 来说也是如此。此时您可能需要考虑使用合适的搜索引擎,例如 Solr。

关于php - sql查询返回时间是随机的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24793830/

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