SQL Server 小技巧【2】
2023-09-14 08:58:39 时间
--1.不要使用×来查询所有字段 SELECT * FROM DBO.tb1 --改为 SELECT FName,PWD,CreateDate FROM DBO.tb1 (NOLOCK) --2.查询数据行数
SELECT COUNT(*) FROM tb1
--改为
SELECT * FROM sysindexes WHERE id =OBJECT_ID('dbo.tb1') AND indid <2
--3.数字不要加引号,不然会全盘索引 SELECT * FROM DBO.tb1 (NOLOCK) WHERE Pwd='111111' --改为 SELECT * FROM DBO.tb1 (NOLOCK) WHERE Pwd=111111
不要对索引字段进行运算
例如:
SELECT ID FROM T WHERE NUM/2=100
应改为:
SELECT ID FROM T WHERE NUM=100*2 SELECT ID FROM T WHERE NUM/2=NUM1
如果NUM有索引应改为:
SELECT ID FROM T WHERE NUM=NUM1*2
如果NUM1有索引则不应该改。
不要对索引字段进行格式转换
日期字段的例子:
WHERE CONVERT(VARCHAR(10),日期字段,120)='2014-08-15'
应该改为
WHERE 日期字段>='2008-08-15' AND 日期字段<'2014-08-16'
不要对索引字段使用函数
日期查询的例子:
WHERE LEFT(NAME, 3)='ABC' 或者 WHERE SUBSTRING(NAME,1, 3)='ABC'
应改为:
WHERE NAME LIKE 'ABC%'
日期查询的例子:
WHERE DATEDIFF(DAY, 日期,'2010-11-30')=0
应改为:
WHERE 日期>='2010-11-30' AND 日期<'2010-12-1'
WHERE DATEDIFF(DAY, 日期,'2010-11-30')>0
应改为:
WHERE 日期<'2010-11-30'
WHERE DATEDIFF(DAY, 日期,'2010-11-30')>=0
应改为:
WHERE 日期<'2010-12-01'
WHERE DATEDIFF(DAY, 日期,'2010-11-30')<0
应改为:
WHERE 日期>='2010-12-01'
WHERE DATEDIFF(DAY, 日期,'2014-11-30')<=0
应改为:
WHERE 日期>='2010-11-30'
不要对索引字段进行多字段连接
例如:
WHERE FAME+'.'+LNAME='H.Y'
应改为:
WHERE FNAME='H' AND LNAME='Y'
相关文章
- SQLServer安装时哪些功能是必需的(sql server 2016安装时选择哪些功能 必须安装的功能组件 必选的功能组件 轻便精简安装选项)
- Net 4.5 WebSocket 在 Windows 7, Windows 8 and Server 2012上的比较以及问题
- Sql Server之旅——第五站 确实不得不说的DBCC命令(文后附年会福利)
- SQL SERVER 2012启动失败 because upgrade step 'SSIS_hotfix_install.sql' 失败
- SQL Server基础Sql语句复习
- SQL SERVER作业的Schedules浅析
- VisualSVN Server 导入已存在的库
- 快速查看SQL Server 中各表的数据量以及占用空间大小
- SQL server 中 COUNT DISTINCT 函数
- 未与信任SQL Server连接相关联的解决方法
- SQL Server profile使用技巧
- SQL Server调优系列基础篇(并行运算总结篇二)
- [SQL] sql server中如何查看执行效率不高的语句
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误
- SQL SERVER服务器链接连接(即sql server的跨库连接)
- 获取application server 主机名(host name)和端口号(port)的FM TH_GET_VIRT_HOST_DATA
- SQL Server 2008 R2用户'sa'登录失败(错误18456)
- Navicat_Premium_11.0.10 连接sql server 2008R2
- 统计分析SQL Server Profiler 跟踪的SQL
- Sql Server数据库中的更新表名、列名、列值
- 【sql优化】(大表小技巧)有时候 2 小时的 SQL 操作,可能只要 1 分钟
- sql server 2000 个人版怎么在win7下安装
- SQL Server未找到或无法訪问server问题解决
- DNS Tunneling及相关实现——总之,你发起攻击都需要一个DNS server,下载一些工具作为client发起数据,server收集数据并响应
- sql的介绍——SQL Server数据库管理系统
- 【SQL Server】数据库开发指南(三)面向数据分析的 T-SQL 编程技巧与实践