mysql - MySQL 在两台相同的服务器上执行的一个查询使用不同的索引
问题描述
我在不同的服务器机器上有两个相同的数据库,如果我在两台机器上执行一个查询,在一台服务器上它会顺利进行,而在另一台服务器上会导致日志缓慢。解释告诉我他们没有使用相同的索引。任何建议或建议,都会有所帮助。
解决方案
MySQL 保留的索引统计信息有时会变得不准确(我不知道为什么/何时)。
在两台服务器上运行ANALYZE TABLE <table>
应更正统计信息。
如果问题再次出现,您可以使用索引提示和/或IF
's 来强制 MySQL 使用正确的索引。
推荐阅读
- sql - 带有时间演化列的 postgres 更新表
- python - 在 for 循环中使用相应的 3D numpy 数组
- c# - 使用带有附件锁定文件的 SmtpClient.Send,即使在实现 Dispose() 之后也是如此
- sql - 我正在写一个标量函数,但我遇到了一些错误
- python-3.x - 如何使用 Python 3 使用来自另一个时区的格式指令将字符串转换为日期时间
- android - 我怎样才能发送`类
- ` 到 `ItemLiveData` 类构造函数?
- arrays - Prolog - 将文本文件中的二维数组加载到程序中
- javascript - 通过安全网址以角度显示图像
- java - Android 使用智能手机作为阅读器模拟 NFC
- ruby - Sinatra 和 Ruby 错误:ActiveRecord::RecordNotUnique at /shoes/1