SQL Server 2005 的存储引擎部分,属于那种看着枯燥但学完真香的类型。结构清晰,底层逻辑讲得挺细,像页、区、分配单元这些概念,讲得比官方文档还顺。你要是对数据库底层感兴趣,蛮值得一看,尤其是想搞清楚查询为什么慢、IO 为什么高的时候,真有用。
存储引擎的架构设计得还蛮有意思,基本就是页为单位,每页 8KB,系统读写基本全围着它转。比如你执行个SELECT
,后台是怎么从磁盘搬数据到缓冲池的,讲得还挺细。
数据行格式也挺关键,尤其是对开发的人来说,字段排布不合理,性能差距一眼就能看出来。文档里对Row Overflow
和Text/Image
类型怎么,讲得清楚,顺便提了一嘴如何避免表碎片,蛮实用。
你要是平时用SQL Server
做开发,尤其喜欢研究为什么慢,嗯,这书的内容还挺值得一翻。配合几篇文章会更完整,像《SQL Server 2005 存储引擎详解》和《SQL Server 2005 存储引擎技术详解》,都蛮靠谱。
提醒一下,内容偏底层,读的时候会觉得啰嗦,但别急,慢慢啃,吃透了你会发现调优的时候思路清晰多了。如果你刚好遇到索引碎片
、页面锁争用
这些问题,可以翻翻这本书,说不定就有解。