http://blog.csdn.net/dxnn520/article/details/8089149 -------------------------------------------------------------------------- -- Author : htl258(Tony) -- Date : 2010-04-23 02:37:28 -- Version:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X8…
        一行数据是如何来存储的呢?     变长列与定长列,NULL与NOT NULL,实际是如何整理存放到 8k的数据页上呢?     对表格进行增减列,修改长度,添加默认值等DDL SQL,对行存储结构又会有怎么样的影响呢?     什么是大对象,什么是行溢出,存储引擎是如何处理它们呢?             如果转载,请注明博文来源: www.cnblogs.com/xinysu/   ,版权归 博客园 苏家小萝卜 所有.望各位支持!      1 引入     在一个DB内,每…
当在 SQL Server 数据库中创建一张表时,会在多张系统基础表中插入所创建表的信息,用于管理该表.通过目录视图 sys.tables, sys.columns, sys.indexes 可以查看新建的表的元数据信息. 下面使用创建 Customer 表的过程作为示例. USE [TEST] GO DROP TABLE [dbo].[Customer] GO CREATE TABLE [dbo].[Customer]( [ID] [int] NOT NULL, ) NOT NULL, ) N…
谈到GAM和SGAM,我们不得不从数据库的页和区说起. https://blog.csdn.net/snowfoxmonitor/article/details/49991015 一个数据库由用户定义的空间构成,这些空间用来永久存储用户对象,例如数据库管理信息.表和索引.这些空间被分配在一个或多个操作系统文件中. 当我们创建一个数据库的时候,例如以缺省的方式CREATE DATABASE TESTDB,SQLServer自动帮我们创建好如下两个数据库文件. 这两个数据文件是实实在在的操作系统文件…
      本系列上一篇博文链接:SQL SERVER大话存储结构(4)_复合索引与包含索引    1 基本介绍 每个数据库都具有事务日志,用于记录所有事物以及每个事物对数据库所作的操作. 日志的记录形式需要根据数据库的恢复模式来确定,数据库恢复模式有三种: 完整模式,完全记录事物日志,需要定期进行日志备份. 大容量日志模式,适用于批量操作的数据库,可以以更压缩的方式处理日志,需要定期进行日志备份. 简单模式,也有日志文件,只是该模式下可以通过checkpoint自动重用virtual log…
          索引这块从存储结构来分,有2大类,聚集索引和非聚集索引,而非聚集索引在堆表或者在聚集索引表都会对其 键值有所影响,这块可以详细查看本系列第二篇文章:SQL SERVER大话存储结构_(2)_非聚集索引如何查找到行记录.     非聚集索引内又分为多类:单列索引.复合索引.包含索引.过滤索引等.之前文章有具体分析过非聚集索引的存储情况,但是没有对复合索引及包含索引做过多说明,本文来讲讲这两个索引.         如果转载,请注明博文来源: www.cnblogs.com/xi…
        数据库文件有两大类:数据文件跟日志文件,每一个数据库至少各有一个数据文件或者日志文件,数据文件用来存储数据,日志文件用来存储数据库的事务修改情况,可用于恢复数据库使用.     这里分为两篇博文讲解,本文来说说数据文件.         如果转载,请注明博文来源: www.cnblogs.com/xinysu/   ,版权归 博客园 苏家小萝卜 所有.望各位支持!       本系列上一篇博文链接:SQL SERVER大话存储结构(5)_SQL SERVER 事务日志解析   1…
查询Sql Server数据库对象结构 查询数据库 查询架构 查询表 查询列 查询存储过程 查询视图 1.查询某一服务器下所有数据库 select t.[name] as 数据库 from sys.databases as t order by name 2.查询某一数据库的架构 select name as 架构, schema_id as 架构Id --,principal_id from sys.schemas where principal_id = 1; 3.查询某一数据库的表 sel…
MySQL的redo log结构和SQL Server的log结构对比 innodb 存储引擎 mysql技术内幕 log buffer根据一定规则将内存中的log block刷写到磁盘,这个规则是 1.事务提交时 2.当log buffer 中有一半的内存空间已经被使用时 3.checkpoint时 跟sqlserver一样 mysql的重做日志的logblock是512字节,跟磁盘的扇区一样,重做日志写入可以保证原子性,不需要double write技术 mysql的重做log record…
目前SQL Server 的索引结构如下: 这个是聚集索引的存放形式: 非聚集索引的方式如下: 它们是以B+树的数据结构存放的. 相信大家都看过类似的图,但是没有直观的认识,下面举一个实际的例子来说明图的结构. 1 2 3 4 5 6 7 8 9 10 11 USE Test --1.创建表,指定主键(会自动创建聚集索引) CREATE TABLE Person ( Id int NOT NULL IDENTITY, Name varchar(10) NOT NULL, Sex varchar(…