SELECT
t.sample_sn,t.state,t.member_id,t.express_state,t.name,t.sex,t.arived_time,t.out_time,
t.bind_time,t.detection_time,t.report_sand_time,
tc.company_name,
tps.title,
tm.mobile,
tcs.company_suite_name,
tpsl.content,
tce.remark as out_remark
FROM
t_sample t
LEFT JOIN t_company tc ON t.company_id = tc.company_id
LEFT JOIN t_project_suite tps ON t.project_suite_id = tps.project_suite_id
LEFT JOIN t_member tm ON tm.member_id = t.member_id
left join t_company_suite tcs on t.company_suite_id=tcs.id
left join t_project_suite_list tpsl on t.p_s_list_code=tpsl.code
left join t_company_express tce on tce.express_id=t.out_id
order by t.sample_id desc
limit 0,10
全部数据16万条 查询效率太低 一分半
t.sample_id 加索引并且把外键字段也加索引
sample_id是主键 能建立索引不
@漠---: 主键就是索引了.那就给那些外键字段加索引
16万条你全部查出来的话,显示都是问题了,不用谈什么效率了。谁来也没办法,堆硬件吧。
y用的pageHelper 插件 自动分页 查询很慢 最后发现是order by 影响的 order by 需要全局扫描的原因吧
换种方式码代码,或者直接用sql查询
居然敢这么写……
兄弟,先limit,再join!
就是:先取出需要的那10条,再对这10条进行join,速度就极快了。而你的代码是:把16万条进行join,再去从join后的结果取出10条,这。。。。。。。
参考:
select a.xx,b.xx,c.xx from (select * from 表 limit 0,10) a left join b on... left join c on...
仔细看,你一定看得懂。
还有一点,join的那些字段最好加上合适的索引,否则也是比较慢的。
用的pageHelpe分页插件自动limit
remark里边是不是数据量很大。。。