关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »从物理结构上谈一谈SQL Server数据库的优化

    从物理结构上谈一谈SQL Server数据库的优化

    2011-08-24 17:55:00 出处:ITJS
    分享

    我们知道,SQL Server中数据存储的基本单位是页。为数据库中的数据文件(.mdf 或 .ndf)分配的磁盘空间可以从逻辑上划分成页(从 0 到 n 连续编号)。磁盘 I/O 操作在页级执行。也就是说,SQL Server 读取或写入所有数据页。

    平时在通过SQL Server Profiler 或者打开Statistics IO 选项时看到物理读,逻辑度的单位都是页。

    在SQL Server 中,页的大小为8KB。这意味着SQL Server数据库中每MB有128 页。每页的开头是96 字节的标头,用于存储有关页的系统信息。此信息包括页码、页类型、页的可用空间以及拥有该页的对象的分配单元 ID。

    下表说明了SQL Server 数据库的数据文件中所使用的页类型。

    页类型 内容

    Data

    当 text in row 设置为 ON 时,包含除 text、 ntext、image、nvarchar(max)、varchar(max)、varbinary(max) 和 xml 数据之外的所有数据的数据行。

    Index

    索引条目。

    Text/Image

    大型对象数据类型:

    text、 ntext、image、nvarchar(max)、varchar(max)、varbinary(max) 和 xml 数据。

     

    数据行超过 8 KB 时为可变长度数据类型列:

    varchar、nvarchar、varbinary 和 sql_variant

     

    Global Allocation Map、Shared Global Allocation Map

    有关区是否分配的信息。

    Page Free Space

    有关页分配和页的可用空间的信息。

    Index Allocation Map

    有关每个分配单元中表或索引所使用的区的信息。

    Bulk Changed Map

    有关每个分配单元中自最后一条 BACKUP LOG 语句之后的大容量操作所修改的区的信息。

    Differential Changed Map

    有关每个分配单元中自最后一条 BACKUP DATABASE 语句之后更改的区的信息。

    在数据页上,数据行紧接着标头按顺序放置。页的末尾是行偏移表,对于页中的每一行,每个行偏移表都包含一个条目。每个条目记录对应行的第一个字节与页首的距离。行偏移表中的条目的顺序与页中行的顺序相反。

    数据行存储在页上,超出页大小如此。

    2个原则:

    表设计:Row 要占用尽可能短的长度,占用少的空间,让一个page上存储更多的row,这样在相同的读次数下,获取到的数据就更多了。

    查询:Select的时候,别动不动就来个*,因为当row 中有Image,text等,或者本身变长字段vchar等加起来的长度超过了8k,就会需要去 

    ROW_OVERFLOW_DATA 中去读取一次。增加了读的开销。当然从网络等开销来说也不建议用* 。

    关于SQL Server数据库从存储页方面的优化措施就介绍到这里了,希望本次的介绍能够对您有所收获!

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    Edge浏览器百度被劫持/篡改怎么办,地址后边跟着尾巴#tn=68018901_7_oem_dg

    Google Chrome 在 iPhone 上新增了 Safari 数据导入选项

    Windows 11专业版 KMS工具激活产品密钥的方法

    DEDECMS安全策略官方出品

    Microsoft Text Input Application 可以关闭吗?

    新版本QQ如何关闭自带的浏览器?

    C++编程语言中continue的用法和功能,附举例示范代码

    c++ map 的数据结构、基本操作以及其在实际应用中的使用。

    C语言如何避免内存泄漏、缓冲区溢出、空指针解引用等常见的安全问题

    C语言中的break语句详解

    IT头条

    马斯克2026最新采访总结:2040年,全球机器人数量将突破100亿台

    23:52

    专家解读|规范人工智能前沿业态健康发展的新探索:解读《人工智能拟人化互动服务管理暂行办法》

    00:54

    用至强 6高存力搞定MoE卸载!

    17:53

    美国将允许英伟达向中国“经批准的客户”出售H200 GPU

    02:08

    苹果与微信就15%手续费达成一致?腾讯未置可否

    22:00

    技术热点

    PHP 和 Node.js 的10项对比挑战

    Javascript闭包深入解析及实现方法

    windows 7、windows 8.1手动增加右键菜单功能技巧

    MYSQL出错代码大汇总

    windows 7假死机怎么办 windows 7系统假死机的原因以及解决方法

    Ubuntu(Linux)下配置IP地址的方法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。