码迷,mamicode.com
首页 > 数据库 > 详细

SQL 语句与性能之联合查询和联合分类查询

时间:2016-11-30 11:33:52      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:模糊查询   数据包   外键   建立   语句   模糊   情况   charindex   规则   

select
    *
from t1
left join t2 on t2.sysno =t1.ASysNo
left join t3 on t3.sysno =t2.ASysNo
left join t4 on t4.sysno =t3.ASysNo
left join t5 on t5.sysno =t4.ASysNo
left join t6 on t6.sysno =t5.ASysNo
left join t7 on t7.sysno =t6.ASysNo
where t1.name like ‘%AAA%‘

在没有建任何索引的情况下,模糊查询,这类sql性能最差,这类SQL为联合查询SQL

select
    *
from t1
left join (
   select
      *
   from t2
   left join t3 on t3.sysno =t2.ASysNo
   left join t4 on t4.sysno =t3.ASysNo
) vw_detail on  vw_detail .sysno =t1.ASysNo
left join (
   select
      *
   from t5
   left join t6 on t6.sysno =t5.ASysNo
   left join t7 on t7.sysno =t6.ASysNo
) vw_mm on vw_mm.sysno = t1.SSysNo
where charindex(‘AAA‘,t1.name)>0

将SQL用left-join把一类的数据包起来分类关联,去掉like查询,尽量减少where中使用函数,然后对各个表的外键建立索引;按照常理来说;这类SQL查询个人称为联合分类查询SQL,一般按照该规则查询后查询应该很快了

 

以上SQL仅供参考

SQL 语句与性能之联合查询和联合分类查询

标签:模糊查询   数据包   外键   建立   语句   模糊   情况   charindex   规则   

原文地址:http://www.cnblogs.com/licin/p/6116739.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!