SQL Server 小技巧【2】

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: --1.不要使用×来查询所有字段 SELECT * FROM DBO.tb1 --改为 SELECT FName,PWD,CreateDate FROM DBO.tb1 (NOLOCK) --2.
--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'

 

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
相关文章
|
14天前
|
SQL 数据可视化 算法
SQL Server聚类数据挖掘信用卡客户可视化分析
SQL Server聚类数据挖掘信用卡客户可视化分析
|
2天前
|
SQL 存储 数据库连接
LabVIEW与SQL Server 2919 Express通讯
LabVIEW与SQL Server 2919 Express通讯
|
3天前
|
SQL Windows
安装SQL Server 2005时出现对性能监视器计数器注册表值执行系统配置检查失败的解决办法...
安装SQL Server 2005时出现对性能监视器计数器注册表值执行系统配置检查失败的解决办法...
12 4
|
4天前
|
SQL 数据可视化 Oracle
这篇文章教会你:从 SQL Server 移植到 DM(上)
这篇文章教会你:从 SQL Server 移植到 DM(上)
|
4天前
|
SQL 关系型数据库 数据库
SQL Server语法基础:入门到精通
SQL Server语法基础:入门到精通
SQL Server语法基础:入门到精通
|
4天前
|
SQL 存储 网络协议
SQL Server详细使用教程
SQL Server详细使用教程
26 2
|
4天前
|
SQL 存储 数据库连接
C#SQL Server数据库基本操作(增、删、改、查)
C#SQL Server数据库基本操作(增、删、改、查)
7 0
|
4天前
|
SQL 存储 小程序
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分了三个逻辑分区。 数据库故障: 数据库文件丢失,主要涉及3个数据库,数千张表。数据库文件丢失原因未知,不能确定丢失的数据库文件的存放位置。数据库文件丢失后,服务器仍处于开机状态,所幸未写入大量数据。
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
|
5天前
|
SQL 存储 关系型数据库
SQL Server详细使用教程及常见问题解决
SQL Server详细使用教程及常见问题解决
|
6天前
|
SQL 安全 数据库
SQL Server 备份和还原
SQL Server 备份和还原