我的网站上有一个评论应用程序。注释将存储在MySQL表中。表结构如下
id | Comment | user | created_date
------------------------------------------------------
12 | comment he | 1245 | 2012-03-30 12:15:00
------------------------------------------------------
我需要运行一个查询,列出特定时间后的所有评论。 ie ..像这样的查询
SELECT * FROM comments WHERE created_date > "2012-03-29 12:15:00" ORDER BY created_date DESC
它的工作正常..我的问题是,如果我在这个表中得到1-2万个条目,这个查询是否足够用于此目的?或者这个查询需要时间来执行? 在大多数情况下,我必须显示最近2天的数据+定期(间隔10分钟),使用此表中的ajax检查更新...
请帮忙 谢谢
答案 0 :(得分:3)
将index放在created_date字段中。它会大大提高性能......
链接:
MySQL:http://dev.mysql.com/doc/refman/5.0/en/create-index.html
使用SQLyog:http://www.weberdev.com/ViewArticle/Managing-Foreign-Key-Relationships-In-MySQL-Using-SQLyog
WIKI:http://wiki.phpmyadmin.net/pma/primary_key
答案 1 :(得分:2)
如果还没有,您应该在“created_date”上添加索引。 您可以使用“explain”来优化您的查询。这是optimize queries的一些简单方法。