zoukankan      html  css  js  c++  java
  • sqlserver 构架与性能优化

    太阳底下没有新鲜事

     

    一、sqlserver 构架结构

                           

    1、查询优化器三阶段

    1)、找计划缓存如果找到直接使用

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

    3)、正式优化 一般情况下优化到开销小于1.0就会停止

    定义…

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

    2、写入数据页

    1)、惰性写入器(定期检验缓冲区的邻居l领进临界值,如果过小就会去检验很久么有的缓存(老化页)直接干掉,脏页写入到硬盘,然后把这个内存空间标注为空闲)

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

    3)、内存配置的依据

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

    , 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

    二、日志 备份和恢复

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

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

    2、事务日志的数据恢复

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

    ldf ,

    问题: 事务日志一直不断增长采取办法

    恢复模式

    简单,完整,大容量日志

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

    2、  可以改成简单模式直接截断(强烈不建议使用)简单恢复模式只要checkpoint就会截断

    3、  搜索

    全备

    差异备份

    事务日志备份

    三、深入理解索引

     

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

    1、 非聚集索引

     

    2、  聚集索索引

     

    动作描述

    使用聚集索引

    使用非聚集索引

    列经常被分组排序

    返回某范围内的数据

    不应

    一个或极少不同值

    不应

    不应

    小数目的不同值

    不应

    大数目的不同值

    不应

    频繁更新的列

    不应

    外键列

    主键列

    频繁修改索引列

    不应

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

    四、优化工具使用

    1、  执行计划-- EXPLAIN 

    2、  查询优化顾问

    3、  活动监视器

    4、  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

     

  • 相关阅读:
    (转)OpenGL和D3D
    (转)海岸线提取完成, 海浪排岸效果
    (转)perlin噪声函数
    D3D 部分功能测试结论
    (转)学习directx遇到的问题
    D3D Lock Pool
    D3D渲染到纹理
    用Eclipse平台进行c/c++开发
    var读写和function读写,get/set读写效率比较
    flash fps游戏 fps多少为佳
  • 原文地址:https://www.cnblogs.com/echosong/p/3757870.html
Copyright © 2011-2022 走看看