SQL 语句与性能之联合查询和联合分类查询
2016-11-30 10:45
465 查看
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语句的改进,大幅提高查询性能
- 对多表联合查询的SQl语句的改进,大幅提高查询性能
- 对多表联合查询的SQl语句的改进,大幅提高查询性能
- 对多表联合查询的SQl语句的改进,大幅提高查询性能 (转)
- sql查询语句性能问题及编写时需要注意的地方
- SQL 语句查询与性能
- .Net+SQL Server企业应用性能优化笔记3——SQL查询语句
- 简单查询和联合查询两方面介绍SQL查询语句
- SQL轮询,查询支持无限极分类数据表中的某一分类所有数据的SQL语句
- Sql语句与存储过程查询数据的性能测试实现代码
- 一条sql语句,查询出全部分类各前10记录
- 又一个通用分页存储过程,支持表别名,多表联合查询SQL语句
- sql语句一例:多表联合查询
- sql查询语句中 in和 exists的区别与性能比较
- 一条sql语句,查询出全部分类各前10记录
- sql server性能分析--查询死锁和阻塞的sql语句
- sql语句的联合查询(join 用法)
- 取出相应用户分类名以及字段id的sql语句(两表查询)
- 又一个通用分页存储过程,支持表别名,多表联合查询SQL语句
- sql server性能分析--查询死锁的sql语句