2012-04-26 50 views
-1

我有一张包含100,00,000或更多记录的消息表,我可以如何运行查询并获取快速数据。简单的查询是select title,message from messages请告诉我正确的查询来快速检索数据。我如何在MySQL中获得快速数据?

回答

4

一些列过滤您的结果,并把指数上过滤塔,例如

SELECT title,message from messages 
WHERE `date` > somedate 

和根据指数

CREATE INDEX dateIndex ON messages (`date`); 

我不认为你想获得的所有10^7排,你呢?

2

在列titlemessage上添加索引。

CREATE INDEX title_message_index ON messages (title, message); 
+0

我已经使用过索引,我想更快速。 – Asif 2012-04-26 09:44:08

+0

在所选值上创建索引不会以任何方式提高性能。 – Sirko 2012-04-26 09:45:12

4

在这样一个宽泛的问题,答案就不可能真正具体 - 所以继承人的广泛答案:

set proper indexing colums(您例如titlemessage)和您的查询,看是否使用EXPLAIN这些索引被使用。

1

使用INDEX将极大地帮助优化sql操作。检查this