用于检索“最流行”表行的高效数据库设计

时间:2010-02-05 00:36:22

标签: sql mysql caching query-optimization database

我打算创建一个包含x千行数据的mysql 5(myISAM)表。每行都有一个计数字段,&具有20个最高计数值的行将被检索相当多,可能与每行更新的一对一比率。通常不会检索不在此20中的x千行。

选择查询20个最高计数值的有效方法有哪些选择?数据 不是实时的,但它有帮助!

3 个答案:

答案 0 :(得分:1)

为计数字段添加索引,然后只是一个普通的查询:

SELECT * FROM myTable ORDER BY countField DESC LIMIT 20;

答案 1 :(得分:0)

在count字段上创建索引。完成。

答案 2 :(得分:-2)

每隔五分钟,清空然后将前20名复制到一个单独的表格中。要获得前20名,请咨询该表。完成!

(或者,您可以在接下来的几个小时内调整您的查询和参数以及索引,并将其全部“恰到好处”。)