【发布时间】:2013-05-05 06:30:35
【问题描述】:
我有一个包含消息列表的 MySQL 表,其中每条消息都属于一个房间。我做这样的查询:
SELECT * FROM messages WHERE room='offtopic' ORDER BY id DESC LIMIT 5;
随着我的表增加到数十万条消息的数量,数据库变得有点慢。我添加了一个名为room 的索引,BTREE,不是唯一的,不是填充的,列室(5),现在基数为 425。
这对性能有帮助吗?阿卡我做得对吗?
【问题讨论】:
-
在这种情况下,房间和 id 的索引就足够了。使用
EXPLAIN查看将在查询中使用哪些索引。 (如果您已经添加了索引,那么查询是否仍然很慢?如果是,特定查询和结果集大小的 EXPLAIN 是什么?)
标签: mysql indexing database-performance