我注意到我的脚本变得非常慢,于是我缩小了这个问题:它是一个更新查询。奇怪的是,SELECT查询速度非常快。该表有大约600,000个条目。是的,id是唯一的主键。下面是一些例子:极慢的UPDATE查询
SELECT * FROM `tmp_pages_data` WHERE id = 19080 LIMIT 0 , 30
Showing rows 0 - 0 (1 total, Query took 0.0004 sec)
而现在的更新查询:
UPDATE tmp_pages_data SET page_status = 1 WHERE id = 19080
1 row(s) affected. (Query took 24.5968 sec)
正如你所看到的,选择是非常快的,但更新慢veery。这怎么可能?
请添加模式的结构,尤其是索引。编写索引大小和引擎类型 – 2010-10-29 00:01:37
好吧,这里是表格的样子:CREATE TABLE IF NOT EXISTS'tmp_pages_data'( 'id' int(10)unsigned NOT NULL AUTO_INCREMENT, 'site_id' int(11) DEFAULT NULL, 'url' VARCHAR(255)DEFAULT NULL, 'date_added'日期时间DEFAULT NULL, 'page_status' TINYINT(4)DEFAULT NULL, 'page_type' VARCHAR(255)DEFAULT NULL, 'title_normal' VARCHAR( 255)DEFAULT NULL, 'cat_id' INT(11)DEFAULT NULL, 'title_id' INT(11)DEFAULT NULL, PRIMARY KEY('id') KEY'url'('url') )ENGINE = MyISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT = 658002; – okaybmd 2010-10-29 00:13:21
索引:PRIMARY(BTREE)独特:是包装:否\t字段:编号\t基数:658001整理:A \t无:无;指数:网址(BTREE)\t独特:没有\t包装:没有\t现场:URL \t基数:658001 \t整理:一\t空:是 – okaybmd 2010-10-29 00:13:49