您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SQL常用短语小记-持续更新

bubuko 2022/1/25 20:10:19 其他 字数 2429 阅读 1146 来源 http://www.bubuko.com/infolist-5-1.html

创建链接服务器语句 --//创建链接服务器【在本地服务器创建】 exec sp_addlinkedserver '链接服务器名称','','SQLOLEDB','远程服务器地址' -- exec sp_addlinkedserver '链接服务器名称','','SQLOLEDB','远程地址'(版本 ...

创建链接服务器语句

--//创建链接服务器【在本地服务器创建】  

exec sp_addlinkedserver ‘链接服务器名称‘,‘‘,‘SQLOLEDB‘,‘远程服务器地址‘ 

-- exec sp_addlinkedserver ‘链接服务器名称‘,‘‘,‘SQLOLEDB‘,‘远程地址‘(版本不同时在远程地址处加上远程地址sql版本)   

--//登录链接服务器  

EXEC sp_addlinkedsrvlogin ‘链接服务器名称‘,‘false‘,null,‘登录名‘,密码‘

 

创建只读副本的服务器链接 --主要用于开始了sql2012 always on功能的情况,在访问只读数据库副本的时候,需要在连接串中增加“MultipleActiveResultSets=True;ApplicationIntent=ReadOnly”,否则无法进行查询

Data Source=只读副本地址;Initial Catalog=数据库名称;MultipleActiveResultSets=True;ApplicationIntent=ReadOnly

 

查询字段中是否包含中文内容 --方法有多种,这一种感觉比较简单

SELECT *

  FROM 表名

 WHERE 需要检索的字段 not LIKE ‘%[吖-座]%‘

 

取每个分组最大的一行数据

--示例

select a.* from tb a where val = (select max(val) from tb where name = a.name) order by a.name 

tb:表

val:需要判断最大值的字段

name:分组依据

 

表索引相关

--查询表索引密度情况

DBCC SHOWCONTIG(‘表名‘) --如果是默认的dbo架构,可以去掉引号,直接在小括号中写表名,如果为dbo以外架构,需要带上单引号,带架构名

技术分享图片

 

 主要关注扫描密度、逻辑扫描碎片、平均页密度

扫描密度:数据量较大的表一般保持在80%↑即可,实际计数5000+可算做数据量较大的表;

逻辑扫描碎片:越低越好,一般重构索引后保持在15%↓,这个可以理解为已经失效的索引碎片垃圾,每次进行查询的时候会连同碎片一起过滤,浪费资源、降低数据库效率;

平均页密度:比例越高越好,数据量较大的表一般保持在80%↑即可;

 

 

--索引重构

DBCC DBREINDEX(‘表名‘,‘索引名‘,重构目标密度) --

索引名:如果是需要重构表的所有索引,索引名可以不填写(引号需保留)

重构目标密度:需要重构密度达到的值,例如写90,即需要重构后密度达到90%

 

快速插入并新建同结构的临时表 --先按照原始表结构,新建一个临时表,再将表中所有数据插入该临时表

SELECT * INTO 临时表名 FROM 原始表名

 

技术分享图片

 

SQL常用短语小记-持续更新

原文:https://www.cnblogs.com/airlinp/p/12360680.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶