mysql数据库sql语句优化

昨天帮同事优化了一个sql语句发出来共勉下:

SELECT
T.*,
(
SELECT
S.codeName
FROM
sys_codelist S
WHERE
S.codeValue = T.packagingtype
AND S.kindCode = 'PACKAGING'
) AS packagingtypeName,
S.codeName AS codename,
(
SELECT
picpath
FROM
zl_b_gd_pic
WHERE
1 = 1
AND gdid = T.gdid
LIMIT 0,
1
) AS gdmainimagepath
FROM
zl_b_gd T
LEFT JOIN sys_codelist S ON S.codeValue = T.levelcode
WHERE
1 = 1
AND T.gdmode <> '3'
AND TO_DAYS(T.invaliddate) > TO_DAYS(NOW())
AND T.gdstatus = '2'
AND gdtype = '2'
ORDER BY
STR_TO_DATE(
gdpublishdate,
'%Y-%m-%d %H:%i:%s'
) DESC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

主表1600条数据,codelist表4000+数据,当前查询时间为2.33s.

 

SELECT
T.*,
PG.CODENAME AS packagingtypeName,
S.codeName AS codename,
(
SELECT
picpath
FROM
zl_b_gd_pic
WHERE
1 = 1
AND gdid = T.gdid
LIMIT 0,
1
) AS gdmainimagepath
FROM
zl_b_gd T
LEFT JOIN (SELECT * FROM sys_codelist WHERE KINDCODE='CORN_LEVEL') S ON T.levelcode = S.codeValue
LEFT JOIN (SELECT * FROM sys_codelist WHERE kindCode = 'PACKAGING') PG ON T.packagingtype = PG.codeValue
WHERE
1 = 1
AND T.gdmode <> '3'
AND TO_DAYS(T.invaliddate) > TO_DAYS(NOW())
AND T.gdstatus = '2'
AND gdtype = '2'
ORDER BY
STR_TO_DATE(
gdpublishdate,
'%Y-%m-%d %H:%i:%s'
) DESC

 

 

 

 

 

 

 

 

 

 

 

 

 

子查询换成了关联查询,查询时间为0.54s.

 

 

执行计划如下:

执行计划部分我说的不是很清晰,有可以描述清晰朋友可以帮忙解释下.

 

转载于:https://www.cnblogs.com/zhouy-77253569/p/9566648.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CopyPropertis

commons-beanutils.jar PropertyUtils.copyProperties(Object dest, Object orig) spring-beans.jar BeanUtils.copyProperties(Object source, Object target)CopyPropertis对List的操作需要手动转载于:https://www.cnblogs.com/xingzc/p/8663119.html

java调用外联服务用xml,Spring IOC 依赖注入的两种方式:XML和注解

IoC&#xff0c;直观地讲&#xff0c;就是容器控制程序之间的关系&#xff0c;而非传统实现中&#xff0c;由程序代码直接操控。这也就是所谓“控制反转”的概念所在。控制权由应用代码中转到了外部容器&#xff0c;控制权的转移是所谓反转。IoC还有另外一个名字——“依赖注入…

Wicket模型的干净方法

Apache Wicket Web框架的核心概念之一是模型和IModel作为其编程接口。 Wicket组件严重依赖模型&#xff0c;这使它们成为体系结构的重要组成部分。 Apache Wicket是一个有状态框架&#xff0c;将页面及其组件存储到通常位于HTTP会话中的页面存储中。 组件根据模型的内容创建面向…

jquery选择器大全

jQuery 选择器大全选择器 实例 选取 * $("*") 所有元素 #id $("#lastname") id"lastname" 的元素 .class $(".intro") 所有 class"intro" 的元素 element $("p") 所有 <p> 元素 .class.class $(".intr…

第7章 输入/输出系统

总览 I/O系统基本概念 外部设备 输入设备&#xff1a;键盘、鼠标 输出设备&#xff1a;显示器、打印机 外存储器&#xff1a;硬盘存储器、磁盘阵列、光盘存储器 I/O接口 I/O接口的功能和基本结构 I/O端口及其编址 I/O方式 程序查询方式 程序中断方式 中断的基本概念&#xff0c…

python第一个程序HelloWorld

在写第一个python程序之前&#xff0c;我们还需要了解的一个东西就是python解释器 解释器&#xff0c;顾名思义&#xff0c;就是解释一段代码的机器&#xff0c;程序运行的平台&#xff0c;例如Java的解释器就是jdk。 我们在写好的python代码&#xff0c;需要在解释器上执行&am…

Java字符串的十大问题

以下是有关Java字符串的十大常见问题 。 1.如何比较字符串&#xff1f; 使用“ ”还是使用equals&#xff08;&#xff09;&#xff1f; 简而言之&#xff0c;“ ”测试引用是否相等&#xff0c;而equals&#xff08;&#xff09;测试值是否相等。 除非您要检查两个字符串是否…

php原生sql语法,thinkphp执行原生SQL语句的实现方法

怎样在thinkphp里面执行原生的sql语句&#xff1f;$Model new Model();//或者 $Model D(); 或者 $Model M();$sql "select * from order";$voList $Model->query($sql);只是需要new一个空的模型继承Model中的方法。注意query是查功能&#xff0c;execute是增…

Jquery中如何获取元素的文本,值,属性和内容

jQuery DOM 操作jQuery 中非常重要的部分&#xff0c;就是操作 DOM 的能力。jQuery 提供一系列与 DOM 相关的方法&#xff0c;这使访问和操作元素和属性变得很容易。提示&#xff1a;DOM Document Object Model&#xff08;文档对象模型&#xff09;DOM 定义访问 HTML 和 XML …

Python中的__new__()方法的使用

__new__() 函数只能用于从object继承的新式类。 先看下object类中对__new__()方法的定义&#xff1a; class object:staticmethod # known case of __new__def __new__(cls, *more): # known special case of object.__new__""" T.__new__(S, ...) -> a new …

什么是消息中间件

面向消息的中间件&#xff1a;Message-oriented Middleware, MOM 基本功能&#xff1a; 将信息以消息的形式&#xff0c;从一个应用程序传送到另一个或多个应用程序 主要特点&#xff1a; 消息异步接受&#xff0c;类似手机短信的行为&#xff0c;消息发送者不需要等待消息接受…

用Java分割大型XML文件

上周&#xff0c;我被要求用Java编写一些东西&#xff0c;该东西能够将单个30GB XML文件拆分为可配置文件大小的较小部分。 该文件的使用者将是一个中间件应用程序&#xff0c;该应用程序存在XML较大的问题。 在后台&#xff0c;它使用某种DOM解析技术&#xff0c;使它在一段时…

am82.top 1.php,Droppy v2.1.3 – PHP在线网盘系统

更新跨度比较大从1.4.6-2.1.3的更新日志我都贴出来利V2.1.9 (10 July, 2019)- Added option to define maximum upload chunk size in the admin panel- Fixed an issue where downloads were corruptedV2.1.8 (10 July, 2019)- Fixed an issue where upload password field wa…

抛出异常–缓慢而丑陋

这篇文章是关于历史经验以及最近应用的性能优化技术的。 几年前&#xff0c;我在特定的应用程序中发誓&#xff0c;我不得不发现隐藏在真正聪明的工程“技术”之下的无证行为。 它是一个典型的用于发票的单片Java EE应用程序。 最好忘记确切的代码&#xff0c;但是我记得开发人…

信号与线性系统翻转课堂笔记9——傅里叶变换概念

信号与线性系统翻转课堂笔记9——傅里叶变换 The Flipped Classroom9 of Signals and Linear Systems 对应教材&#xff1a;《信号与线性系统分析&#xff08;第五版&#xff09;》高等教育出版社&#xff0c;吴大正著 一、要点 &#xff08;1&#xff0c;重点&#xff09;…

abstract修饰符

1、一个类不能同时被 abstract 和 final 修饰。 2、如果一个类包含抽象方法&#xff0c;那么该类一定要声明为抽象类&#xff0c;否则将出现编译错误。 3、抽象类可以包含抽象方法和非抽象方法。 4、抽象方法是由子类来实现。 5、抽象方法不能被声明成 final 和 static。 6、任…

埃及分数问题(带乐观估计函数的迭代加深搜索算法-IDA*)

#10022. 「一本通 1.3 练习 1」埃及分数 【题目描述】 在古埃及&#xff0c;人们使用单位分数的和&#xff08;形如 $\dfrac{1}{a}​$​​ 的&#xff0c;$a$ 是自然数&#xff09;表示一切有理数。如&#xff1a;$\dfrac{2}{3} \dfrac{1}{2} \dfrac{1}{6}​$​​&#xff0c…

玩转Jquery中的动画效果(animate方法)

jQuery 动画 - animate() 方法jQuery animate() 方法用于创建自定义动画。语法&#xff1a;$(selector).animate({params},speed,callback);必需的 params 参数定义形成动画的 CSS 属性。可选的 speed 参数规定效果的时长。它可以取以下值&#xff1a;"slow"、"…

matlab 等分矩阵,用matlab根据列拆分矩阵.

使用logical indexingBA(A(:,end)10,:);CA(A(:,end)2,:);回报>> BB 1 4 2 5 102 1 5 6 10>> CC 2 4 5 6 22 3 5 4 2编辑&#xff1a;在回复丹的评论这里是一般情况的扩展e unique(A(:,end));B cell(size(e));for k 1:numel(e)B{k} A(A(:,end)e(k),:);end或者更…

点击网页跟踪php代码的工具,使用ltrace工具跟踪PHP库函数调用的方法

本文实例讲述了使用ltrace工具跟踪PHP库函数调用的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;可能大家已经很熟悉使用strace来跟踪系统调用&#xff0c;今天介绍一个跟踪库函数的利器ltrace比如我有这么一段PHP代码test.php&#xff1a;$y 1380;$arr array…