作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我们的生产服务器上遇到了这个问题。应用程序堆栈是,
系统部署在具有大约 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/
如何使用批量收集填充具有多个 %rowtype 字段的记录表? 我的代码: drop table child_table; drop table parent_table;
我是一名优秀的程序员,十分优秀!