MySql запрос занимает слишком много времени - django на webfaction - PullRequest
1 голос
/ 13 апреля 2010

Я использую 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 | 

идентификатор является первичным ключом

объяснение:

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 голосов
/ 13 апреля 2010

Похоже, id не проиндексировано, не так ли? id является первичным ключом вашей таблицы? Не могли бы вы опубликовать результат SHOW CREATE TABLE main_userprofile;?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...