SQL里IN的用法以及优化
例子:select * from table1 where id in (1,3,6,10,...,8000) and type = 1
************************************************************/
--例如:
SELECT *
FROM tb
WHERE id IN (1, 2, 3, 4, ........)
AND NAME = 'best'
--1.将括号的条件做成变量
DECLARE @str VARCHAR(4000)
SET @str = '1,2,3,4,5.......'
--2.然后将@s拆分后插入临时表
CREATE TABLE #t
(
id VARCHAR(10)
)
DECLARE @i INT
DECLARE @len INT
SET @i = 1
WHILE @i < LEN(@str + ',')
BEGIN
INSERT #t
SELECT SUBSTRING(@str + ',', @i, CHARINDEX(',', @str + ',', @i) -@i)
SET @i = CHARINDEX(',', @str + ',', @i) + 1
END
--3利用临时表和原表进行连接取值
SELECT k.*
FROM tb k
INNER JOIN #t p
ON p.id = k.id
WHERE NAME = 'best'
SQL里IN的用法以及优化的更多相关文章
- SQL 里ESCAPE的用法
TABLES:makt. SELECT SINGLE * FROM makt AND maktx LIKE '%/_' ESCAPE '/' . SQL中escape的用法使用 ESCAPE 关键字定 ...
- sql语句Group By用法-转载
sql语句Group By用法一则 2007-10-25 12:00 sql语句Group By用法一则 如果我们的需求变成是要算出每一间店 (store_name) 的营业额 (sales),那怎么 ...
- 降龙十八掌之一:(亢龙有悔)SQL Server Profiler和数据库引擎优化顾问
简介 说到Sql的[性能工具]真是强大,SQL Server Profiler的中文意思是SQL Server事件探查,这个到底是做什么用的呢?我们都知道探查的意思大多是和监视有关,其实这个SQL S ...
- SQL里的EXISTS与in、not exists与not in
系统要求进行SQL优化,对效率比较低的SQL进行优化,使其运行效率更高,其中要求对SQL中的部分in/not in修改为exists/not exists 修改方法如下: in的SQL语句 SELEC ...
- SQL Server 2016 查询存储性能优化小结
SQL Server 2016已经发布了有半年多,相信还有很多小伙伴还没有开始使用,今天我们来谈谈SQL Server 2016 查询存储性能优化,希望大家能够喜欢 作为一个DBA,排除SQL Ser ...
- 一个由正则表达式引发的血案 vs2017使用rdlc实现批量打印 vs2017使用rdlc [asp.net core 源码分析] 01 - Session SignalR sql for xml path用法 MemCahe C# 操作Excel图形——绘制、读取、隐藏、删除图形 IOC,DIP,DI,IoC容器
1. 血案由来 近期我在为Lazada卖家中心做一个自助注册的项目,其中的shop name校验规则较为复杂,要求:1. 英文字母大小写2. 数字3. 越南文4. 一些特殊字符,如“&”,“- ...
- SQL Server Profiler和数据库引擎优化顾问
原文:SQL Server Profiler和数据库引擎优化顾问 简介 说到Sql的[性能工具]真是强大,SQL Server Profiler的中文意思是SQL Server事件探查,这个到底 ...
- 【HANA系列】SAP HANA SQL IFNULL和NULLIF用法与区别
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL IFN ...
- 图解 SQL 里的各种 JOIN
约定 下文将使用两个数据库表 Table_A 和 Table_B 来进行示例讲解,其结构与数据分别如下: mysql> SELECT * FROM Table_A ORDER BY PK ASC ...
随机推荐
- myeclipse如何导入相应的jar包
方法一: 相应的项目------>右键------->build path-------->Config BuildPath...------->Libraries------ ...
- Mac下cocos2dx-3.0打包Android时,提示"SimpleAudioEngine.h"not found的解决方法
前段时间触控公布cocos2dx-3.0,在升级之后试过之后,在最初的不习惯之后,感觉比之前的好用了不少,在下之前一直是用xCode模板创建,这回算是一口气升到顶了. 之后再一次编程时须要用到Sima ...
- centos 没有可用的网络设备
在重装的时候记得查看网络情况,提示没有可用的网络设备. 系统是64位的,我再创建虚拟机选择客户机操作系统的时候,选择成了 centos .不是centos 64位.改成centos 64位后,就显示了 ...
- TP复习3
## ThinkPHP 3.1.2 CURD特性#讲师:赵桐正微博:http://weibo.com/zhaotongzheng 本节课大纲: 一.ThinkPHP 3 的CURD介绍 (了解) 二. ...
- 性能监视器(SSAS)
使用性能监视器,您可以通过性能计数器监视 Microsoft SQL Server Analysis Services (SSAS) 实例的性能. 性能监视器是用于跟踪资源使用情况的 Microsof ...
- SQL server connection KeepAlive[转]
1.什么是SQL server TCP连接的keep Alive? 简单说,keep alive 是SQL server在建立每一个TCP 连接的时候,指定了TCP 协议的keepaliveinter ...
- [转]Oracle快速入门
原文出处:http://blog.csdn.net/yueguanghaidao/article/details/7019377 select * from scott.salgrade; /*解锁s ...
- mysql服务器的常规操作
mysql服务器的常规操作 导读 MySQL是一个小型关系数据库管理系统,目前被广泛的应用在Internet上的中小型网站中,体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,使得许多中小型网站 ...
- 关于子线程使用Toast报错Can't create handler inside thread that has not called Looper.prepare()的解决办法
形同如下代码,在Thread中调用Toast显示错误信息: new Thread(new Runnable(){ @Override public void run() { try{ weatherD ...
- JS 公共方法
1.Format函数 $.GM.Format = function (source, params) { if (arguments.length == 1) return function () { ...