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

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'

慕尼黑8549860
浏览 518回答 5
5回答

萧十郎

记得以前看过一篇文章,这样写的: 3、查询条件中使用了不等于操作符(<>、!=)的select语句执行慢原因:SQL中,不等于操作符会限制索引,引起全表扫描,即使比较的字段上有索引方法:通过把不等于操作符改成or,可以使用索引,避免全表扫描。例如,把column<>’aaa’,改成 column<’aaa’ or column>’aaa’,就可以使用索引了。 and a.hot_aera<>'1000' 楼主是否可改一下,看性能比较。 对于右模糊查询,即like ‘…%’,是会使用索引的;左模糊like‘%...’无法直接使用索引;

皈依舞

看执行计划,然后调整索引吧! 就语句本身感觉没啥问题。

哈士奇WWW

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

呼唤远方

能说清楚点吗???
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server