首页 > 数据库技术 > 详细

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

时间:2020-02-25 13:24:31      阅读:65      评论:0      收藏:0      [点我收藏+]

创建链接服务器语句

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!