http://topic.csdn.net/u/20091110/15/8f32b08a-4d69-4ea6-8f08-58aaf9f7e51e.html前两天提问的,数据库中30多W条数据打不开页面,后来加上索引,基本上解决,但是经过反复测试,发现两个问题,
第一个问题是,只要SQL语句中,某个字段查询值带3就会超慢 ,很奇怪的问题,不知道为什么。
第二个问题是,因为业务需要,要求对数据进行排序(至少要按时间倒序),可是加上排序,速度又慢下来了,即使通过MYSQL执行也一样,超慢。请问谁知道怎么能对排序这部份优化处理,MYSQL或PHP中都可以。
第一个问题是,只要SQL语句中,某个字段查询值带3就会超慢 ,很奇怪的问题,不知道为什么。
第二个问题是,因为业务需要,要求对数据进行排序(至少要按时间倒序),可是加上排序,速度又慢下来了,即使通过MYSQL执行也一样,超慢。请问谁知道怎么能对排序这部份优化处理,MYSQL或PHP中都可以。
你的SQL语句是什么?表结构是什么?
另外提供一下 explain select .... 的信息。
我的表结构
create table ch_news(
id int(10) unsigned NOT NULL auto_increment,
channel int(10),
classid int(10),
node varchar(255),
istop int(5),
iscommend int(5),
hits int(10),
…………
)索引,news_channel_node on news (channel,node)view news :
select a.*,b.title as classname from news as a inner join class as b on a.classid=b.id where channel=1 and node like '|2|%' order by id desc
(class 为分类表,有标题,图片,简介等信息)explain:
还有where后面的条件,既然是联表,最好加上具体的表别名.where a.channel=1 and a.node like '|2|%' order by a.id desc
那是不是我要把那些全加上索引?channel是固定要查询的字段
回网友,这两个没有什么可比性.SPHINX是解决程序与DATABASE频繁调用导致慢甚至死机瓶颈,而后者主要功能类似ALEXA.