随笔- 672
文章- 2
评论- 325
阅读-
281万
随笔分类 - Sql Server
SQL Server使用SQL语句查看执行计划
摘要:我们知道在SQL Server的SSMS中,可以查看到图形化的执行计划: 但是如果有时候我们无法使用SSMS访问SQL Server,那么怎么通过SQL语句获取到执行计划呢?答案是,可以在SQL语句中使用SET STATISTICS PROFILE指令: SET STATISTICS PROFILE
阅读全文
SQL Server变更数据捕获(CDC)(转载)
摘要:一、CDC简介 二、开启CDC的必要条件 三、开启数据库CDC 1、在需要开启CDC的数据库上执行脚本如下 2、查询数据库的CDC开启状态 四、开启表CDC 1、添加数据文件组和文件 2、执行以下脚本,开启某个表的CDC 3、查看某个表CDC的开启状态 五、CDC使用 1、对表C开启CDC后,会生成
阅读全文
SQL Server中的ORDER BY语句(链接)
摘要:下面的这篇微软文档,介绍了SQL Server中SELECT语句的ORDER BY用法: SELECT - ORDER BY clause (Transact-SQL) 其中这里有提到,SQL Server认为NULL值是最小的: NULL values are treated as the low
阅读全文
SQL Server中的IDENTITY列(链接)
摘要:下面的微软官方文档介绍了SQL Server中的IDENTITY标识列: CREATE TABLE (Transact-SQL) IDENTITY (Property) 注意其中有说到,SQL Server的每张表中只能有一个IDENTITY列: Only one identity column c
阅读全文
SQL Server中GROUP BY和HAVING(链接)
摘要:下面的这篇微软官方文档,介绍了SQL Server中的GROUP BY语句: SELECT - GROUP BY- Transact-SQL 其中这里有说到,如果GROUP BY后面的列中有NULL值,那么SQL Server会将GROUP BY列中所有的NULL值认为是相等的,并将NULL归类到一
阅读全文
ADO.NET中的DBNull
摘要:在ADO.NET和EF Core中使用DbParameter/SqlParameter时,如果要传递数据库null值给数据库必须要使用DBNull,下面的微软文档介绍了DBNull: DBNull Class 其中这里有提到DBNull.Value.Equals方法的使用。 同时在下面这篇微软ADO
阅读全文
SQL Server中Upsert的三种方式(转载)
摘要:本文介绍了SQL Server中Upsert的三种常见写法以及他们的性能比较。SQL Server并不支持原生的Upsert语句,通常使用组合语句实现upsert功能。 假设有表table_A,各字段如下所示: int型Id为主键。 方法1:先查询,根据查询结果判断使用insert或者update
阅读全文
查看SQLServer最耗资源时间的SQL语句(转载)
摘要:sql server中,如果想知道有哪些语句是执行效率不高的,应该如何查看呢?下面就将为您介绍sql server中如何查看执行效率不高的语句,供您参考。 1.找出执行时间最长的10条SQL(适用于SQL SERVER 2005及其以上版本)Sql代码 SELECT top 10 (total_el
阅读全文
SQL SERVER 数据库清空语句 忽略外键 触发器 等(转载)
摘要:有时候我们想清空SQL Server中所有表的数据,但是由于有外键约束和触发器,有时候清表语句无法执行,下面的语句可以关掉和开启一个数据库中的所有外键约束和触发器,以便执行清表语句: USE ClothesShop EXECUTE sp_MSForEachTable 'ALTER TABLE ? N
阅读全文
sql server获取所有表名、字段名、字段类型、表行数(转载)
摘要:获取所有的表名 ①select name from sysobjects where xtype='u';②select name from sys.tables;③select table_name from information_schema.tables; 获取所有字段名 ①select n
阅读全文
在SQL Server中新建了SQL Server authentication用户却连不上
摘要:在SQL Server中新建了一个SQL Server authentication用户Super,也设置了密码: 但是使用SQL Server Authentication连接的时候,用户Super怎么也连不上: 折腾了半天,原来发现是SQL Server服务器的SQL Server Authen
阅读全文
ADO.NET的数据库连接池(链接)
摘要:下面这篇文章,很详细地介绍了ADO.NET中的数据库连接池: ADO.NET入门教程(五) 细说数据库连接池 其中有提到如果连接池中的数据库连接数不够了,会导致SqlConnection连接超时,所以要合理地设置SqlConnectionStringBuilder.MaxPoolSize和SqlCo
阅读全文
单表千万行数据库 LIKE 搜索优化手记(转载)
摘要:我们经常在数据库中使用 LIKE 操作符来完成对数据的模糊搜索,LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。如果需要查找客户表中所有姓氏是“张”的数据,可以使用下面的 SQL 语句: SELECT * FROM Customer WHERE Name LIKE '张%' 如果需要查
阅读全文
SQL Server的DECIMAL类型,进行算术运算后会有精度变化
摘要:一直以为在SQL Server中,使用DECIMAL类型,可以安全地进行各种算术运算,但是看到下面这篇帖子后,才知道即便是DECIMAL类型,也有可能在进行算术运算后,造成精度丢失: Why is there precision loss when multiplying DECIMAL in SQ
阅读全文
SQL Server 小数类型(float 和 decimal)(转载)
摘要:在SQL Server中,实际上小数数值只有两种数据类型:float 和 decimal,分别是近似数值和精确数值。其他小数类型,都可以使用float和decimal来替代,例如,双精度(double precision)数据类型等价于 float(53),real等价于float(24),nume
阅读全文
SQL Server中WITH(NOLOCK)提示用在视图上会怎样(转载)
摘要:Using WITH NOLOCK Table Hint in Query Using View - Does it Propagate Within the View? 问 If a "WITH NOLOCK" query hint is used on a View in SQL Server,
阅读全文
SQL SERVER 排序规则中的大小写敏感问题(转载)
摘要:SQL SERVER大小写敏感问题,其实是两个问题: 标识符,例如表名和字段名,是否区分大小写。 字符型字段进行比较时,是否区分大小写。 第一个问题 与SQL SERVER数据库的COLLATE属性有关。这个属性的关于大小写敏感子属性的取值有两种:CI case-insensitiveCS case
阅读全文
关于Microsoft.Data.SqlClient(链接)
摘要:官方NuGet链接如下: Microsoft.Data.SqlClient 微软官方文档介绍: Introduction to Microsoft.Data.SqlClient namespace 另一篇很详细的介绍文章: Introducing the new Microsoft.Data.Sql
阅读全文
SQL Server中,用来收缩每个数据库文件的SQL脚本
摘要:下面这段SQL脚本,可以根据单个数据库中所有文件(数据文件、日志文件等)的大小,来收缩数据库文件: DECLARE @databaseFiles TABLE ( freeSpace FLOAT, fileName NVARCHAR(300) ) INSERT INTO @databaseFiles(
阅读全文
SQL Server的Linked Servers(链接)
摘要:我们在使用SQL Server时,有时会有这种需求,需要从一个SQL Server服务器A中,查询另一个SQL Server服务器B中的表,然后将SQL Server服务器A中的表和SQL Server服务器B中的表进行JOIN,像类似这种跨SQL Server服务器的SQL语句操作,我们就可以通过
阅读全文