最近优化项目,数据量就10-20w,应该说很小了,
不过发现几个问题
表中有text、longtext字段的查询变慢,[color=red]>3秒[/color],没有text类型字段则在 [color=red]0.x秒[/color]
使用排序遇到问题,
order by 字段 (主键很快,where 中 使用到的也很快,) +limit 5000,50 速度慢的离谱 [color=red]>10秒[/color]。。
如果没有order by 或者 用order by主键或其他在where出现的条件(和业务冲突),速度在[color=red]0.3秒[/color]左右
描述不清楚见下面:
[code="sql"]SELECT id,title,content,url,ctime,is_deleted,state,hip_num
FROM news WHERE ctime between '2007-03-20 15:58:03' AND '2009-05-05 09:56:27'
AND is_deleted = 0
AND state = 4
ORDER BY hip_num DESC LIMIT 5200,30
[/code]
order by hip_num desc 很慢
order by ctime 很慢
order by is_deleted 快
order by state 快
order by id 很快
[b]问题补充:[/b]
那如何避免这种问题?拆分表?数据查询缓存???
我的查询要求很快,还请各位帮忙