Mysql的索引的情况我有2个表与DISTINCT
第一种是主题是持有
二是这里的消息都保持。我想为我的项目制作最新主题模组。其目的列出最近30个话题..
的一点是我可以伊斯利呼吁
"select * from topics order by date desc limit 30;"
,但我不希望只列出最近30个主题我想列出的信息更新近30个主题。
好吧让我告诉你一个例子什么在我心中! :
可以说有5个主题,他们是最近。
*Hello Whats UP? *Good Morning *Good Afternoon *Hello Nice! *There is a Bear behind you!
我写了一条消息给“有一只熊在你身后”主题。列表必须 更新
*There is a Bear behind you! *Hello Whats UP? *Good Morning *Good Afternoon *Hello Nice!
我希望你明白我的例子是我必须做的:/
是我迄今所做的就是这个代码通过搜索计算器:
SELECT DISTINCT a.* FROM topics a LEFT JOIN messages b ON a.id = b.topic_id ORDER BY b.date DESC LIMIT 30;
此查询的作品像魅力,但我的主题和消息表是惊人的巨大! 这是解释
+----+-------------+-------+------+---------------+------+---------+-------------------+--------+---------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+-------------------+--------+---------------------------------+
| 1 | SIMPLE | a | ALL | NULL | NULL | NULL | NULL | 383056 | Using temporary; Using filesort |
| 1 | SIMPLE | b | ref | sira,sira_2 | sira | 4 | avare_sozluk.a.id | 6 | Distinct |
+----+-------------+-------+------+---------------+------+---------+-------------------+--------+---------------------------------+
OH!顺便说一句,我用Distinct可能会有一个或多个消息。因此,查询可以选择相同的主题两次或更多..我只是希望它选择一次上市..
任何人都可以帮助我与此查询的性能?或者如果你有更好的查询上市,如我告诉请分享:/我有点新手
它是一个国际日期变更线的列? – 2012-02-23 17:09:06
哦,我很抱歉,我读取日期作为数据:) – 2012-02-23 17:09:49