-1

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

4

4 回答 4

5

按某列过滤您的结果并在该过滤列上放置一个索引,例如,

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

和相应的索引

CREATE INDEX dateIndex ON messages ( `date` );

我认为您不想获得所有 10^7 行,对吗?

于 2012-04-26T09:44:13.777 回答
4

在如此广泛的问题上,答案不可能非常具体 - 所以这是广泛的答案:

设置正确的索引列title以及message您的示例)并EXPLAIN在您的查询中使用以查看是否使用了这些索引。

于 2012-04-26T09:43:52.140 回答
2

在列上添加索引titlemessage.

CREATE INDEX title_message_index ON messages (title, message);
于 2012-04-26T09:42:43.543 回答
1

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

于 2012-04-26T09:49:50.193 回答