SELECT a.*,b.company,b.industry,b.area,b.website FROM stat_detail AS a LEFT JOIN stat_total AS b ON a.company_id=b.company_id WHERE b.rank='2' AND b.industry='1010000' AND b.area='45' ORDER BY a.detail_date DESC LIMIT 0,30 stat_detail ,stat_total分别有30多W的数据。b.company,b.industry,b.area,都建立了单列索引,a.company_id建立了单列索引。现在查询一次要差不多6秒,查询效率还能提高吗?要如何提高?谢谢
解决方案 »
- mysql 表类型问题
- 关于文件系统和数据库系统存储的问题。
- 不显示删除回复显示所有回复显示星级回复显示得分回复 请教一条错误的SQL语句,另外如果查询条件只能用like,like能否用大于小于来确定范围?
- 求助:mysql数据库中同表复制一条记录,主键自增型,sql怎样写
- 不太懂mysql的查询,如果查“where name like 'a'”会把全中文姓名也查出来
- 求mysql数据库转E-R模型的工具
- mysql 的存储过程中如何调用另外一个数据库的存储过程?
- .net2003连接mysql中的transaction问题
- 高级的PSQL,有关UPDATE,强人来帮忙呀~`
- 关于在几个表之间建立关系的问题
- 2003服务器MySQ服务器无法进入?
- 怎样在查询某一个客户的时候,可以在两个界面中显示出客户的不同信息
1 SIMPLE b eq_ref PRIMARY,rank,industry,area PRIMARY 4 stat.a.company_id 1 Using where
show index from stat_totalstat_total 0 PRIMARY 1 company_id A 325314 \N \N BTREE
stat_total 1 talk_avg 1 talk_avg A 4 \N \N YES BTREE
stat_total 1 rank 1 rank A 3 \N \N YES BTREE
stat_total 1 industry 1 industry A 54219 \N \N YES BTREE
stat_total 1 company 1 company A 325314 \N \N YES BTREE
stat_total 1 area 1 area A 14787 \N \N YES BTREE show index from stat_detail:stat_detail 0 PRIMARY 1 id A 325318 \N \N BTREE
stat_detail 1 company_id 1 company_id A 325318 \N \N BTREE
FROM stat_detail AS a INNER JOIN stat_total AS b ON a.company_id=b.company_id
WHERE b.rank='2'
AND b.industry='1010000'
AND b.area='45'
ORDER BY a.detail_date DESC LIMIT 0,30