mysql数据库单表有100万+数据,查询超慢,如何优化呢?
飞天猪猪侠 2013-03-28 02:04:29 Slow.log:
# Time: 130328 13:06:36
# User@Host: xxx
# Query_time: 104.718750 Lock_time: 0.000000 Rows_sent: 15 Rows_examined: 1303751
SET timestamp=1364447196;
SELECT * FROM quotes WHERE title='玻璃' ORDER BY pubdate DESC,itemid DESC LIMIT 0,15;
索引如下:
Indexes Columns Index_Type
PRIMARY itemid Unique
suoyin pubdate, itemid, title, group, province
字段信息:
Field Type Comment
itemid int(10) unsigned
group varchar(100)
title varchar(50)
nickname varchar(50)
province varchar(50)
price varchar(50)
price_min varchar(50)
price_max varchar(50)
unit varchar(10)
telphone varchar(50)
email varchar(100)
message text
ip varchar(20)
addtime int(10) unsigned
open smallint(1) unsigned
status smallint(1)
pubdate int(11)
quotes表中有140万条数据,大小920M,索引80M,如果SQL语句换成 SELECT * FROM quotes WHERE title='玻璃' ORDER BY itemid DESC LIMIT 0,15; 网站就可以勉强正常打开,对比之前的SQL语句也就是多了一次排序而已,且这个pubdate字段也做了索引,不知为何效率会差这么悬殊,求教各位高手,这种情况如何解决,索引和SQL语句还有何可优化的地方,谢谢!