TABLE1 where field2_id = 12345 and id > 13314313;
在解释它的时候,MySQL有时决定使用PRIMARY而不是index1。然而,经过几次反复的解释,MySQL最终决定使用索引。问题是,这个表有数百万行,而inserts和selects以每秒几次的速度命中它。选择错误的索引会导致这些SELECT查询花费大约40秒,而不是不到2秒
category字段是相当分布的,但是对于这个查询,created_timestamp似乎是一个很好的索引选择。
但是,MySQL没有使用created_timestamp索引,而是需要4秒才能返回。如果我强制MySQL使用created_timestamp索引使用USE INDEX (created_timestamp),它将以40 in返回。我检查了explain命令的输出,以了解发生这种情况的原因,发现
从Mysql文档中可以清楚地看到,哈希索引是使用only for equality comparisons that use the = or <=> operators的。NULL, KEY `name` (`name`) USING HASH查询:explain select * from test where test.name like 'sun%',并