博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql也有complex view merging 这个特性(5.6 , 5.7)
阅读量:6692 次
发布时间:2019-06-25

本文共 821 字,大约阅读时间需要 2 分钟。

出处:黑洞中的奇点 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是对博主最大的鼓励,感谢您的认真阅读。本文版权归作者所有,欢迎转载,但请保留该声明。

 

研究 mysql 一件有趣的sql 事情 ,  mysql 也有oracle  complex view merging 这个东西 , 具体原理我就不说了, 网上有很多文章 , 在子查询里面带有变量可以不合并到主查询里面

cnblogs的审查太严格, 老说我排版不好不能加入原创...................

模拟案例:

表结构如下:

CREATE TABLE `t_order` (

`emp_no` int(11) DEFAULT NULL,
`dept_no` char(4) DEFAULT NULL,
`from_date` date DEFAULT NULL,
`to_date` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

原sql 语句:

select a.* from (select t_order.* from t_order order by dept_no asc,emp_no desc) a group by a.dept_no;

执行计划:

 

修改后sql语句:

select a.* from (select t_order.* from t_order,(select @a:=0) b order by dept_no asc,emp_no desc) a group by a.dept_no;

执行计划:

 

真实案例:

下面就是用这技巧帮一个朋友解决问题SQL:

原SQL语句:

 

修改后SQL语句:

 

修改后执行计划:

 

 

 

 

转载于:https://www.cnblogs.com/kelvin19840813/p/8207034.html

你可能感兴趣的文章
我的友情链接
查看>>
cookie记录最近浏览商品记录(取最新的五个浏览记录)
查看>>
CentOS配置snmp代理
查看>>
淘宝的搜索核心是什么?
查看>>
项目进度管理及成本管理知识要点
查看>>
Linux服务器上监控网络带宽的18个常用命令
查看>>
【java解惑】多重强转引发的问题
查看>>
用goaccess每天自动分析nginx日志
查看>>
gettickcount()
查看>>
ssh普通用户进行无密码登陆
查看>>
OGG运维优化脚本(二十)-进程操作类--强制时间点调整
查看>>
VC文档程序启动时窗口最大化问题
查看>>
博大的LVM知识
查看>>
MFQ&PPDCS大型嵌入式软件系统的测试分析和测试设计
查看>>
WPF动画设计1—文字书写
查看>>
MySqL双机热备份(二)--MysqL主-主复制实现
查看>>
echo 显示中带字体带颜色
查看>>
使用linq计算元素在列表中出现的次数c#代码
查看>>
LINUX 第二天
查看>>
Configure SQL Server Database Mirroring Using SSMS
查看>>