gpt4 book ai didi

java - 对于 5000 条记录表,类似 MySQL 的查询运行速度极慢

转载 作者:行者123 更新时间:2023-11-29 03:14:59 25 4
gpt4 key购买 nike

我在我们的生产服务器上遇到了这个问题。应用程序堆栈是,

  • Tomcat 6.0.18 上的 Java 网络应用
  • iBatis 数据访问层
  • MySQL 5.0 数据库
  • 中央操作系统

系统部署在具有大约 256 MB 内存的虚拟服务器上。

真正的问题:

这样的查询,

select * from customer

在大约 10 秒内执行,但是如果执行以下查询,

select * from customer where code like '%a%'

执行上述查询后,系统立即进入无限期处理并最终强制 Tomcat 重新启动!。

表统计: - 记录数:5000 - 主键:代码

PHP MyAdmin 执行相同的查询大约需要 4 秒。

您认为这可能是 MySQL 的问题吗?任何调试这个的想法。我现在正在启用详细的日志,并将根据我的发现不断更新这个问题,但非常感谢您的数据库见解。

最佳答案

我最近在我的一个生产系统中遇到了 MySQL 的类似问题。

正如上面的评论者所指出的,问题在于文本字段中的通配符搜索,尤其是搜索中的前导 %。

我们降低了领先的百分比,并将搜索查询所需的时间减少了几个数量级(从服务器耗时 60 秒以上到“根本没有时间”)。

替代方案是使用全文索引或像 Lucene 这样的系统进行搜索。

关于java - 对于 5000 条记录表,类似 MySQL 的查询运行速度极慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1938349/

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