`

换种方法,提高left join查询的效率

 
阅读更多

表之间使用联结查询时,以left join为例,当联结的表较多,并且符合条件的记录个数也很多时,查询的效率变得十分低下,不过改变一下方法,却可以避免这个问题。
  例如:要对系统中各个公司的业务进行统计,公司的业务有很多:业务1、业务2、业务3......业务10,就假设有10项业务,初始的想法是将公司表与这10张业务表进行left join,按公司分组,然后使用count(distince 业务表主键),来统计每个公司的各个业务量。但这种方法执行效率太低,换一种做法:先将公司表分别与10张业务表left join,按公司分组,这样得到10个查询结果,然后将公司表与这10个查询结果进行left join,这样也可以得到想要的结果。
  感觉最大的区别就是公司表与那10个查询结果之间的对应关系是1对1,而公司表与10个业务表之间的对应关系是1对多,也许就是这个原因,导致了效率的天壤之别。

分享到:
评论

相关推荐

    sql中left join的效率分析与提高效率方法

    网站随着数据量与访问量越来越大,访问的速度变的越来越慢,于是开始想办法解决优化速度慢的原因,下面是对程序中一条sql的分析与提高效率的过程

    如何提高informix数据库运行效率

    informix数据库管理员需要掌握的内容,各种优化措施的讲解说明

    SQL入门常见问题总结与实用技巧介绍.docx

    尽量避免不必要的子查询,采用连接JOIN操作提高效率。 注释习惯: 对复杂查询添加注释说明逻辑,便于后期维护和他人理解。 使用标准SQL注释符,如-- 单行注释 或 /* 多行注释 */。 查询性能优化 索引策略: 根据...

    Mysql经典面试题.pdf

    索引是一种数据结构,用于提高数据库的查询效率。它类似于书籍的目录,可以帮助数据库直接定位到指定的数据,而不需要全表扫描。使用索引可以大大加快查询的速度。 2.什么是事务? 事务是一组数据库操作的集合,它们...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例271 清理SESSION缓存提高网站访问的效率 358 第6章 图形图像处理 361 6.1 图像与统计 362 实例272 图形计数器 362 实例273 GD2图形计数器 363 实例274 通过图像显示投票统计结果 365 实例275 通过图像显示密码...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。  SQL语言主要包含5个部分  数据定义...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例271 清理SESSION缓存提高网站访问的效率 358 第6章 图形图像处理 361 6.1 图像与统计 362 实例272 图形计数器 362 实例273 GD2图形计数器 363 实例274 通过图像显示投票统计结果 365 实例275 通过图像显示密码...

    SQL培训第一期

    结构化查询语言(Structured Query Language)简称SQL,是一种关系数据库查询语言,用于存取数据以及查询、更新和管理关系数据库系统。 1.2 语句结构 1.2.1 数据查询语言(DQL) 对数据库进行的信息查询,select。 ...

    SQL sever 实训

    --使用IF UPDATE(column)尽可能优化上题的触发器,以提高系统效率 ALTER TRIGGER UPDATE_ProNo_Stocks_TRIGGER ON Product FOR UPDATE AS IF UPDATE (ProNo) PRINT '已更新' GO --单元十三 游标 --创建存储过程...

    hibernate总结

    1. 提高效率 2. 维护缓存中的对象和数据库中对应表的记录之间进行同步 3. 当一级缓存中的对象状态(属性)发展生改变时,session在特定的时刻清理缓存: a) 清理缓存的时间点: i. Transaction.commit(); 事务...

    图库新版jQuery焦点图 JS代码

    tips[50] = '学会偷懒,并懒出境界是提高工作效率最有效的方法!'; index = Math.floor(Math.random() * tips.length); document.writeln(tips[index]); document.writeln ('  [发表语录]</a>');} if (code==...

Global site tag (gtag.js) - Google Analytics