SQL字段拆分优化
发布时间:2020-12-12 09:18:47 所属栏目:MsSql教程 来源:网络整理
导读:今天看到一条用函数处理连接的SQL,是群里某位网友的,SQL语句如下: = 1WHERE so_order.FOrderDate = '2015-09-06' 语句不算复杂,只是执行比较慢,下面是关于这SQL语句的一些信息: --1.SQL执行203条数据 --2.耗时12秒 --3.so_order表的fid字段是字符串集
今天看到一条用函数处理连接的SQL,是群里某位网友的,SQL语句如下: = 1 WHERE so_order.FOrderDate = '2015-09-06'语句不算复杂,只是执行比较慢,下面是关于这SQL语句的一些信息: --1.SQL执行203条数据 --2.耗时12秒 --3.so_order表的fid字段是字符串集合, --由1-2个字符串组成,用','分隔 通过分析执行计划,so_order和so_orderitem走嵌套循环是正确的,查询的瓶颈是在so_orderitem的索引 扫描上。因此,我们要通过改写SQL,达到so_orderitem走索引查找的目的。 将so_order表的fid字段拆分成2个字段,然后union all成一个结果集,再和so_orderitem关联,即可让so_orderitem表走索引查找。 改写的SQL如下: 下面是SQL改写后,网友的反馈截图 改写后SQL的执行计划如下: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |