我是runnung Mysql 5.5.47-0 + deb7u1-log(Debian)。在数据库中有两个表,结构完全相同,数据大致相同(不要问我为什么,它的故事很长......而且我知道它们很浪费),每个都有大约80M的记录。
table1/table2(review_id int(11), adj_id int(11), occurrences int(11))
Primary(review_id, adj_id)
adj_id has about 14000 unique values.
review_id has about 1.8M unique values.
Both adj_id and review_id have KEY indexes to speed up search.
现在:首先完全创建Table1(在review_id,adj_id上使用单独的索引),然后更新/插入值。 表2是在没有任何索引的情况下创建的(知道主要组合是唯一的)和建立在顶部的索引。
表:Keyname Type独特的压缩克隆卡。 coll.NULL
表1:ind_adj BTREE否否adj_id 38951 A否(预建)
表2:援助BTREE否否adj_id 24否(后添加)
adj_id有大约14000个唯一值,因此这里的值似乎不是该列的DISTINCT COUNT值的估计值。
通过adj_id搜索到table2似乎慢了约50%。
我对此非常好奇。有什么解释吗?
由于
迈克尔