奇怪的Mysql innoDB索引问题
我在调试innodb表时遇到问题 我有一个非常强大的机器32核氙气设置,72gb内存,8 sas驱动器raid 10。硬件不是问题:)整个数据库也加载到innodb缓冲池中。总的来说,在这台机器上我所有的数据库中,一切都进展得飞快 我的问题: 我有一张大约600万行的桌子奇怪的Mysql innoDB索引问题,mysql,innodb,indexing,Mysql,Innodb,Indexing,我在调试innodb表时遇到问题 我有一个非常强大的机器32核氙气设置,72gb内存,8 sas驱动器raid 10。硬件不是问题:)整个数据库也加载到innodb缓冲池中。总的来说,在这台机器上我所有的数据库中,一切都进展得飞快 我的问题: 我有一张大约600万行的桌子 site_id, site_domain, site_date, site_ip, etc etc 我已经为site_id、site_domain、site_date和其他一些列添加了索引 site\u date是存储时间戳
site_id, site_domain, site_date, site_ip, etc etc
我已经为site_id、site_domain、site_date和其他一些列添加了索引
site\u date
是存储时间戳的INT(11)
列。非常基本的东西
我遇到的问题是,当我运行一个简单的查询以获得一些结果时,我使用了orderbysite\u datedesc
site_date栏目不知怎么地让它变得超慢了,但只使用了一些ID,这让我很困惑
Example: (7812 being a slow ID here)
SELECT site_domain
FROM sites
WHERE site_isp_id = '7812'
ORDER BY site_date DESC
LIMIT 10
Results: (95524 total, Query took 1.7469 sec)
Example: (7811 being a fast ID here)
SELECT site_domain
FROM sites
WHERE site_isp_id = '7811'
ORDER BY site_date DESC
LIMIT 10
Results: (97599 total, Query took 0.0015 sec)
正如你所看到的,由于一些奇怪的原因,使用某些ID会变得非常慢,而且在我看来,它似乎没有正确地使用索引。我已尝试删除并重新添加
站点\u isp\u id
和站点\u日期
索引,但这没有解决任何问题。另外,如果我不是按site\u-date
而是按site\u-id
订购,它总是很快,因此site\u-date
似乎是这里的问题。在site\u-isp\u-id
和site\u-date
,这两列中添加一个新的索引,应该有帮助。解释这两个查询可能有助于解释快速查询:解释慢速查询:我看不出有多大区别。mysql似乎在使用站点\u日期
索引,而不是站点\u isp\u id
索引。我会在(site\u isp\u id,site\u date)
列上尝试一个新索引,看看是否更好。我已经删除并重新添加了这两个索引,同样的问题:(按此顺序尝试1.site\u isp\u id
和2.site\u date
(列顺序在索引中起作用)