0

我有一个包含大约 7000 万条记录的 MyISAM 表。当我这样做select count(distinct id)时,大约需要 80 秒才能获得查询结果。该表是非规范化表,这就是为什么我需要获取 id 的唯一计数,并且必须动态完成。如果我添加一个 where 子句,取决于我给出的范围,它需要 4 - 90 秒之间的更短时间。

我想知道是否有任何方法可以优化它以提高查询速度。

4

1 回答 1

0

尝试SELECT SQL_CALC_FOUND_ROWS DISTINCT(id) FROM ...,然后执行查询SELECT FOUND_ROWS() AS Total以获取结果。

于 2012-10-23T17:10:56.120 回答