子查询的性能优化
来源:互联网 发布:程序员数学 四部曲 pdf 编辑:程序博客网 时间:2024/05/19 18:48
如下的表结构:
要查询的结果中包含账户类型、开户雇员、开户行、及所有存储账户的余额求和。
常规的查法:
SELECT p.`name` product,b.`name` branch,CONCAT(e.fname,'',e.lname) name,SUM(a.avail_balance) FROM account a INNER JOIN employee eon a.account_id=e.emp_idINNER JOIN branch bon a.open_branch_id=b.branch_idINNER JOIN product pon a.product_cd=p.product_cdWHERE p.product_type_cd='ACCOUNT'GROUP BY p.`name`,b.`name`,e.fname,e.lnameORDER BY 1,2
劣势分析,这里的分组是基于字符串的分组,而account表里面分别有对应的外键,可以按照外键进行分组,如:
--改进后的语句如下SELECT p.`name`, b.`name`, CONCAT(e.fname, ' ', e.lname), account_groups.tot_depositsFROM ( SELECT product_cd, open_branch_id, open_emp_id emp_id, SUM(avail_balance) tot_deposits FROM account GROUP BY product_cd, open_branch_id, open_emp_id ) account_groupsINNER JOIN employee e ON e.emp_id = account_groups.emp_idINNER JOIN branch b ON b.branch_id = account_groups.open_branch_idINNER JOIN product p ON p.product_cd = account_groups.product_cdWHERE p.product_type_cd = 'ACCOUNT'
0 0
- 子查询的性能优化
- 子查询性能优化
- 【mysql 性能优化篇】优化子查询
- PostgreSQL UPDATE 中包含子查询的性能优化
- Oracle子查询性能优化一例
- MySQL子查询的优化
- MySQL查询的性能优化
- MySQL查询的性能优化
- 优化报表查询的性能
- MySQL查询的性能优化
- MySQL查询的性能优化
- MySQL查询的性能优化
- MySQL查询的性能优化
- MySQL查询的性能优化
- MySQL查询的性能优化
- MySQL查询的性能优化
- MySQL查询的性能优化
- mongo查询的性能优化
- 【炼数成金の大数据学统计基础】第一课作业
- UVA 10600 - ACM Contest and Blackout(最小生成树&次小生成树)
- 《重构》读后感1
- Arduino代码机制-WString.h
- Leetcode1:Two Sum
- 子查询的性能优化
- 【高可用HA】Centos7.0下通过Corosync+pacemaker+pcs+drbd实现mariadb的高可用
- 过滤条件中的子查询
- C++三大继承与多级派生
- sql进阶:case表达式的两种类型
- android studio从布局文件中提取style
- socket阻塞与非阻塞,同步与异步、I/O模型
- sqlserver、oracle、mysql 锁类型
- 自编题:二元一次方程