SQL字段拆分优化
SQL优化大解密:字段拆分技巧,提升程序运行速度
今天我要给大家介绍一种强大的SQL优化技巧——字段拆分。如果你的程序中包含复杂的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'
```
虽然这条语句结构不算复杂,但执行起来却相当慢。特别是当涉及到大数据量时,性能问题就更加明显了。这个例子中,so_order表的fid字段是一个包含多个字符串的集合,用逗号分隔。优化这条SQL的关键在于让so_orderitem表通过索引查找。
```sql
;WITH x0 AS (
SELECT fdate, fsn, LEFT(fid, CASE WHEN CHARINDEX(',', fid, 1) = 0 THEN LEN(fid) 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优化的问题,欢迎一起交流学习。
编程语言
- SQL字段拆分优化
- PHP面向对象程序设计之类常量用法实例
- Laravel实现表单提交
- JS简单实现仿百度控制台输出信息效果
- asp获取数据库中表名和字段名的代码
- gVim, gVim Easy, gVim Read-only 的简单区别
- js控制文本框只输入数字和小数点的方法
- 解决正则表达式-w和-d的疑惑
- Mac OS下配置PHP+MySql环境
- php绘制圆形的方法
- Yii2处理密码加密及验证的方法
- jQuery 判断是否包含在数组中Array[]的方法
- javascript使用shift+click实现选择和反选checkbox的方法
- Symfony2中被遗弃的getRequest()方法分析
- JS中的函数与对象的创建方式
- BootStrap Table 设置height表头与内容无法对齐的问题