0

我对整个 INDEXING 事情有点陌生,但到目前为止我很喜欢它!只是一个快速(可能非常简单)的问题......我有一个非常基本的查询,我想从“评论”表中选择最近的 5 条评论。“id”列是 PRIMARY。

mysql> EXPLAIN SELECT * FROM comments ORDER BY id DESC LIMIT 5;
+----+-------------+----------+-------+---------------+---------+---------+------+-------+-------+
| id | select_type | table    | type  | possible_keys | key     | key_len | ref  | rows  | Extra |
+----+-------------+----------+-------+---------------+---------+---------+------+-------+-------+
|  1 | SIMPLE      | comments | index | NULL          | PRIMARY | 4       | NULL | 19938 |       |
+----+-------------+----------+-------+---------------+---------+---------+------+-------+-------+
1 row in set (0.00 sec)

如您所见,它正在扫描整个桌子......有什么办法解决这个问题吗?

SHOW CREATE TABLE 评论的更新:

mysql> show create table comments;
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table    | Create Table     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| comments | CREATE TABLE `comments` (
  `id` int(12) NOT NULL auto_increment,
  `post_id` int(12) NOT NULL,
  `comm_id` int(11) NOT NULL,
  `userid` int(12) NOT NULL,
  `name` varchar(30) NOT NULL,
  `content` text NOT NULL,
  `location` varchar(30) NOT NULL,
  `type` enum('Comment','Advice') NOT NULL,
  `likes` int(12) NOT NULL,
  `dislikes` int(12) NOT NULL,
  `datetime` varchar(255) NOT NULL,
  `datetimerss` varchar(255) NOT NULL,
  `ip` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `type` (`type`)
) ENGINE=MyISAM AUTO_INCREMENT=20091 DEFAULT CHARSET=latin1 |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
4

0 回答 0