博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
慎用子查询,因为难以优化
阅读量:6715 次
发布时间:2019-06-25

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

同样功能的SQL代码,因为写法不同,性能可能会相差几百倍:

SELECT COUNT(*) FROM  NODE_DATA          WHERE NODE_ID IN                     (                        SELECT NODE_ID FROM VIEW_NODE WHERE ID_PATH LIKE '%$11F6FE53718CECF8E050007F01007528$%' AND NODE_TYPE='factor'                    )

受影响的行: 0

时间: 16.602s

改为联接方式查询:

SELECT COUNT(*) FROM  NODE_DATA D LEFT JOIN VIEW_NODE N ON N.NODE_ID=D.NODE_IDWHERE N.ID_PATH LIKE '%$11F6FE53718CECF8E050007F01007528$%' AND NODE_TYPE='factor'===受影响的行: 0时间: 0.074s

差别:16.602/0.074 = 224.35倍

可以参考这篇关于子查询优化的文章:

转载于:https://www.cnblogs.com/legendjslc/p/7126487.html

你可能感兴趣的文章
XP 系统如何安装.NET Framework4.0
查看>>
java分页功能代码
查看>>
WinForm------如何修改PanelControl控件背景色
查看>>
Android性能优化第(二)篇---Memory Monitor检测内存泄露
查看>>
linux网络命令
查看>>
.NET Core 2.0及.NET Standard 2.0
查看>>
Makefile生成器,使用C++和Boost实现
查看>>
ITOO之底层关系
查看>>
算法笔记_141:无向图的欧拉回路判断问题(Java)
查看>>
XX年年终总结---重新飞跃
查看>>
Spark学习笔记之-Spark远程调试
查看>>
js---06函数传参数
查看>>
WCF系列教程之WCF服务配置
查看>>
Makefile 11——支持头文件目录指定
查看>>
解决JsonFormat日期少一天问题
查看>>
POJ 1201 Intervals
查看>>
linux下串口调试工具
查看>>
[转]如何在 .Net Framework 4.0 项目上使用 OData?
查看>>
UVa 12279 - Emoogle Balance
查看>>
头文件algorithm中的常用函数
查看>>