首页 文章

MySql查询花了太长时间 - 在webfaction上django

提问于
浏览
1

我在webfaction上使用django,并且我有一个“MySql查询需要太长时间”的消息,sql是

SELECT (1) AS `a` FROM `main_userprofile` WHERE `main_userprofile`.`id` = 98

这是一个相当简单的sql,为什么查询花了太长时间?

这里是'创建表':

main_userprofile | CREATE TABLE `main_userprofile` (
  `id` int(11) NOT NULL auto_increment,
 `user_id` int(11) NOT NULL,
  `sex` smallint(6) NOT NULL,
  `active_number` varchar(64) NOT NULL,
  `phone_number` varchar(32) NOT NULL,
  `work_number` varchar(32) NOT NULL,
...
...
  PRIMARY KEY  (`id`),
  UNIQUE KEY `user_id` (`user_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1652 DEFAULT CHARSET=utf8 |

id是主键

解释:

explain SELECT (1) AS `a` FROM `main_userprofile` WHERE `main_userprofile`.`id` = 98;
+----+-------------+------------------+-------+---------------+---------+---------+-------+------+-------------+
| id | select_type | table            | type  | possible_keys | key     | key_len | ref   | rows | Extra       |
+----+-------------+------------------+-------+---------------+---------+---------+-------+------+-------------+
|  1 | SIMPLE      | main_userprofile | const | PRIMARY       | PRIMARY | 4       | const |    1 | Using index | 
+----+-------------+------------------+-------+---------------+---------+---------+-------+------+-------------+

1 回答

  • 0

    似乎 id 没有索引,不是吗 . id 是你 table 的主键吗?你能发布 SHOW CREATE TABLE main_userprofile; 的结果吗?

相关问题