【问题标题】:MySql query taking too long - django on webfactionMySql 查询耗时太长 - django on webfaction
【发布时间】:2011-02-07 07:37:45
【问题描述】:

我在 webfaction 上使用 django,我收到了“MySql 查询耗时过长”的消息, sql是

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

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

这里是“创建表”:

main_userprofile |创建表`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, ... ... 主键(`id`), 唯一键`user_id`(`user_id`) ) 引擎=MyISAM AUTO_INCREMENT=1652 默认字符集=utf8 |

id 是主键

解释:

解释 SELECT (1) AS `a` FROM `main_userprofile` WHERE `main_userprofile`.`id` = 98; +----+-------------+------------------+--------+--- ------------+---------+---------+--------+------+-- ------------+ |编号 |选择类型 |表|类型 |可能的键 |关键 | key_len |参考 |行 |额外 | +----+-------------+------------------+--------+--- ------------+---------+---------+--------+------+-- ------------+ | 1 |简单 | main_userprofile |常量 |初级 |初级 | 4 |常量 | 1 |使用索引 | +----+-------------+------------------+--------+--- ------------+---------+---------+--------+------+-- ------------+

【问题讨论】:

标签: mysql django


【解决方案1】:

好像id 没有被索引,不是吗。 id 是你表的主键吗?你能发布SHOW CREATE TABLE main_userprofile;的结果吗?

【讨论】:

  • 谢谢,这里是:
     main_userprofile |创建表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, ... ... 主键 (id), 唯一键 user_id (user_id) ) ENGINE=MyISAM AUTO_INCREMENT=1652 默认字符集=utf8 | 
    id 是主键
猜你喜欢
  • 1970-01-01
  • 2013-04-08
  • 2015-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-06
  • 1970-01-01
相关资源
最近更新 更多