拆分字段优化SQL

今天看到一条用函数处理连接的SQL,是群里某位网友的,SQL语句如下:

SELECT  SO_Order.fdate ,
SO_Order.fsn
FROM so_order
INNER JOIN so_orderitem ON CHARINDEX(so_Orderitem.fid, SO_Order.fid) >= 1
WHERE so_order.FOrderDate = '2015-09-06'
SELECT  SO_Order.fdate ,
SO_Order.fsn
FROM so_order
INNER JOIN so_orderitem ON CHARINDEX(so_Orderitem.fid, SO_Order.fid) >= 1
WHERE so_order.FOrderDate = '2015-09-06'

  语句不算复杂,只是执行比较慢,下面是关于这SQL语句的一些信息:

--1.SQL执行203条数据
--2.耗时12秒
--3.so_order表的fid字段是字符串集合,
--由1-2个字符串组成,用','分隔
SELECT COUNT(*)
FROM SO_Order
WHERE so_order.FOrderDate = '2015-09-06'--24 SELECT COUNT(*)
FROM so_Orderitem--414154

  

  通过分析执行计划,so_order和so_orderitem走嵌套循环是正确的,查询的瓶颈是在so_orderitem的索引

扫描上。因此,我们要通过改写SQL,达到so_orderitem走索引查找的目的。

  将so_order表的fid字段拆分成2个字段,然后union all成一个结果集,再和so_orderitem关联,即可让

so_orderitem表走索引查找。改写的SQL如下:

;WITH    x0
AS ( SELECT fdate ,
fsn ,
LEFT(fid, CASE WHEN CHARINDEX(',', fid, 1) = 0 THEN 0
ELSE CHARINDEX(',', fid, 1) - 1
END) AS fid
FROM so_order
WHERE FOrderDate = '2015-09-06'
UNION ALL
SELECT fdate ,
fsn ,
RIGHT(fid, LEN(fid) - CHARINDEX(',', fid, 1)) AS fid
FROM so_order
WHERE FOrderDate = '2015-09-06'
)
SELECT SO_Order.fdate ,
SO_Order.fsn
FROM x0 so_order
INNER JOIN so_orderitem ON so_Orderitem.fid = SO_Order.fid
;WITH    x0
AS ( SELECT fdate ,
fsn ,
LEFT(fid, CASE WHEN CHARINDEX(',', fid, 1) = 0 THEN 0
ELSE CHARINDEX(',', fid, 1) - 1
END) AS fid
FROM so_order
WHERE FOrderDate = '2015-09-06'
UNION ALL
SELECT fdate ,
fsn ,
RIGHT(fid, LEN(fid) - CHARINDEX(',', fid, 1)) AS fid
FROM so_order
WHERE FOrderDate = '2015-09-06'
)
SELECT SO_Order.fdate ,
SO_Order.fsn
FROM x0 so_order
INNER JOIN so_orderitem ON so_Orderitem.fid = SO_Order.fid

  下面是SQL改写后,网友的反馈截图

aaarticlea/png;base64,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" alt="" />
  改写后SQL的执行计划如下:
aaarticlea/png;base64,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" alt="" />
 
 
标签: SQL优化

拆分字段优化SQL的更多相关文章

  1. 通过拆分字段优化SQL

    数据库环境:SQL SERVER 2008R2 今天看到一条用函数处理连接的SQL,是群里某位网友的,SQL语句如下: SELECT SO_Order.fdate , SO_Order.fsn FRO ...

  2. 转载 50种方法优化SQL Server数据库查询

    原文地址 http://www.cnblogs.com/zhycyq/articles/2636748.html 50种方法优化SQL Server数据库查询 查询速度慢的原因很多,常见如下几种: 1 ...

  3. 面试题: 数据库 sql优化 sql练习题 有用 学生表,课程表,成绩表,教师表 练习

    什么是存储过程?有哪些优缺点? 什么是存储过程?有哪些优缺点? 存储过程就像我们编程语言中的函数一样,封装了我们的代码(PLSQL.T-SQL). 存储过程的优点: 能够将代码封装起来 保存在数据库之 ...

  4. 如何用 SQL Tuning Advisor (STA) 优化SQL语句

    在Oracle10g之前,优化SQL是个比较费力的技术活,不停的分析执行计划,加hint,分析统计信息等等.在10g中,Oracle推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning ...

  5. sql语句优化SQL Server

    MS   SQL   Server查询优化方法查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)          2.I/O吞吐量小,形成了 ...

  6. mysql优化SQL语句的一般步骤及常用方法

    一.优化SQL语句的一般步骤 1. 通过show status命令了解各种SQL的执行频率 mysqladmin extended-status 或: show [session|global]sta ...

  7. MySQL查询不使用索引汇总 + 如何优化sql语句

    不使用索引原文 : http://itlab.idcquan.com/linux/MYSQL/918330.html MySQL查询不使用索引汇总 众所周知,增加索引是提高查询速度的有效途径,但是很多 ...

  8. MySQL 5.7 优化SQL提升100倍执行效率的深度思考(GO)

    系统环境:微软云Linux DS12系列.Centos6.5 .MySQL 5.7.10.生产环境,step1,step2是案例,精彩的剖析部分在step3,step4. 1.慢sql语句大概需要13 ...

  9. merge into优化sql(转)

    使用Merge INTO优化SQL,性能提升巨大 分类: Oracle 2017-04-13 10:55:07   说说背景:开发有个需求,需要对新加的一个字段根据特定的业务逻辑更新数据.TPS_TR ...

随机推荐

  1. iOS Dev (55) 获得本年度、月、日本和其他信息

    iOS Dev (55) 获得本年度.月.日本和其他信息 作者:大锐哥 博客:http://prevention.iteye.com - NSDate *now = [NSDate date]; NS ...

  2. Spring常见问题解决办法汇总

    解决The prefix 'context' for element 'context:component-scan' is not bound<beans xmlns="http:/ ...

  3. Android调试优化篇

    为了开发出商业级的应用程序,大规模的測试是不可避免的,同一时候为了提高应用程序的执行速度,须要进行必要的优化.在Android中.提供了丰富的调试与优化工具供开发者应用,主要包含模拟器和目标端等两种场 ...

  4. 找出二叉树中和为n的路径

    题目描述: 输入一个整数和一棵二元树.从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径.打印出和 与输入整数相等的所有路径. 二叉树中的路径 从二叉树的根节点出发,至二叉树的叶子节点的 ...

  5. POJ训练计划2418_Hardwood Species(Trie树)

    解题报告 Tire树. #include <iostream> #include <cstring> #include <cstdio> #include < ...

  6. 取证学习资料DVD

    http://www.infiniteskills.com/training/learning-computer-forensics.html https://www.youtube.com/watc ...

  7. 牟大哥:《App自我促销》连载2 直立人迁移走

    [谋哥每天一干货,第六十九篇] 前篇说到声音在远古时代.是一个奇妙的东西,它可以非常快地把信息传播到其它地方,突破了短距离. 然而能人的后代直立人学会了直立行走,他们開始走出非洲,到达遥远的中东.中国 ...

  8. (一个)kafka-jstorm集群实时日志分析 它 ---------kafka实时日志处理

    package com.doctor.logbackextend; import java.util.HashMap; import java.util.List; import java.util. ...

  9. Java 的布局管理器GridBagLayout的使用方法(转)

    GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的, GridBagLayout 类是一个灵活的布局管理器,它不要求 ...

  10. Kafka设计

    [Apache Kafka]Kafka设计   在开始开发producer和consumer之前,先从设计的角度看一看Kafka. 由于重度依赖JMS,且实现方式各异.对可伸缩架构的支持不够,Link ...