为了账号安全,请及时绑定邮箱和手机立即绑定

这条查询语句怎么优化啊????

这条查询语句怎么优化啊????

慕尼黑8549860 2018-12-07 05:12:58
select top 20 a.hot_level, a.hot_name,b.room_name,b.room_priceq,b.room_pricep,b.room_pricez,b.room_type,b.room_tuijian,b.id,a.hot_number,a.id as hotelid,a.hot_time,a.hot_level,a.hot_pic from LI_hotel a,LI_room b where a.hot_number like 'hotel%'  and a.hot_aera<>'1000'  and a.hot_number=b.room_hotelnumber  and  b.room_type='0'  and b.room_tuijian='1'
查看完整描述

5 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

记得以前看过一篇文章,这样写的:

3、查询条件中使用了不等于操作符(<>、!=)的select语句执行慢
原因:SQL中,不等于操作符会限制索引,引起全表扫描,即使比较的字段上有索引
方法:通过把不等于操作符改成or,可以使用索引,避免全表扫描。例如,把column<>’aaa’,改成 column<’aaa’ or column>’aaa’,就可以使用索引了。

and a.hot_aera<>'1000' 楼主是否可改一下,看性能比较。

对于右模糊查询,即like ‘…%’,是会使用索引的;左模糊like‘%...’无法直接使用索引;

查看完整回答
反对 回复 2019-01-07
?
皈依舞

TA贡献1851条经验 获得超3个赞

看执行计划,然后调整索引吧!

就语句本身感觉没啥问题。

查看完整回答
反对 回复 2019-01-07
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

问题大得去了,你为啥where后面的值都是string啊,该是int的就是int啊

查看完整回答
反对 回复 2019-01-07
?
呼唤远方

TA贡献1856条经验 获得超11个赞

能说清楚点吗???
查看完整回答
反对 回复 2019-01-07
  • 5 回答
  • 0 关注
  • 517 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信