SELECT COUNT(*)
FROM table
WHERE vrsta_dokumenta = 3
AND dostupnost = 0
这里是旧的MyISAM表的解释:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE old_table ref idx_vrsta_dokumenta idx_vrsta_dokumenta 1 const 564253 Using where
以下是新InnoDB表的说明:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE new_table ref idx_vrsta_dokumenta idx_vrsta_dokumenta 1 const 611905 Using where
正如您所看到的,新表中的行数比旧表多。
因此,在较高数字是不好的情况下,这是否意味着在完全使用后查询新表将变慢?
如果更高的数字是好的,则可能这就是新表更快的原因,而MyISAM在执行一段时间后会被锁定。
无论如何,什么是正确的?这些行数是什么意思?
编辑:旧表有两倍于新表的列,因为旧表已经被分成两个表。
WHERE子句中的列是否已经建立了索引? - hjpotter92WHERE子句中的第一列已建立索引,第二列未建立索引。两列都是tinyint类型的。 - black-room-boy