sqlserver 构架与性能优化

太阳底下没有新鲜事sql

 

1、sqlserver 构架结构

                       

一、查询优化器三阶段

 

1)、找计划缓存若是找到直接使用缓存

2)、简单语句生成0开销的执行计划工具

3)、正式优化 通常状况下优化到开销小于1.0就会中止sqlserver

定义…优化

 

Select * from sys.dm_os_memory_cache_entries where type=’cachestore_phdr’spa

 

二、写入数据页

1)、惰性写入器(按期检验缓冲区的邻居l领进临界值,若是太小就会去检验好久么有的缓存(老化页)直接干掉,脏页写入到硬盘,而后把这个内存空间标注为空闲)3d

2)、Checkpoint 检验点进程只把脏页面写入到数据页,若是断电重启会从日志文件读取恢复日志

 

3)、内存配置的依据server

select count(*)*8/1024 as 'Buffer cached size(MB)'blog

, case database_id when 32767 THEN 'ResourceDb' else db_name(database_id)

end AS 'Database'

 from sys.dm_os_buffer_descriptors group by db_name(database_id), database_id

order by 'Buffer cached size(MB)' desc

 

 

2、日志 备份和恢复

 

  1. 有序的文件事务日志(事务提交九写了事务日至)

描述记录包括 发生改变 数据页 和页 码。 增长或删除的数据,已经这些改变所属的事务 信息,还有事务的起止日期和时间信息

 

二、事务日志的数据恢复

在最后一个检查点以后发生的数据将被用做恢复

 

ldf ,

 

 

问题: 事务日志一直不断增加采起办法

恢复模式

简单,完整,大容量日志

 

一、  完整模式只有作了事务日志才会截断

二、  能够改为简单模式直接截断(强烈不建议使用)简单恢复模式只要checkpoint就会截断

三、  搜索

 

全备

差别备份

事务日志备份

 

3、深刻理解索引

 

 

 

 

 

 

 

Mssql 只有一种索引模式 B-Tree 模式

一、 非汇集索引

 

 

二、  汇集索索引

 

 

 

 

动做描述

使用汇集索引

使用非汇集索引

列常常被分组排序

返回某范围内的数据

不该

一个或极少不一样值

不该

不该

小数目的不一样值

不该

大数目的不一样值

不该

频繁更新的列

不该

外键列

主键列

频繁修改索引列

不该

 

 

 

 

 

SELECT  * FROM dbo.PCE_Admin_Info WHERE Admin_Account='admina' AND Admin_Id = 1

 

 

 

4、优化工具使用

一、  执行计划-- EXPLAIN 

二、  查询优化顾问

三、  活动监视器

四、  Sql 分析器

 

索引查找 和索引扫描

 

USE db_30014

SELECT  * FROM dbo.PCE_Site_Mobile_Region_Bind

SELECT  * FROM dbo.PCE_Site_Mobile_Region_Bind WHERE Bind_MobileNo >1000

 

缓存体现

SELECT  * FROM dbo.PCE_Site_Mobile_Region_Bind WHERE Bind_MobileNo >1900000

SELECT  * FROM dbo.PCE_Site_Mobile_Region_Bind

相关文章
相关标签/搜索