数据库原理(八)--数据存储与索引

来源:互联网 发布:双板挑选 知乎 编辑:程序博客网 时间:2024/03/29 05:51
一、存储介质磁盘:由磁道、扇区、扇面、柱面组成。格式化:就是把磁盘分成指定大小的块(4kb,8b)并编号。二、数据库文件的存储数据库文件以“块”的方式存储在磁盘“块”上,更小的“块”能够提高磁盘的利用率三、SqlServer1)在SQL Server中,数据存储的基本单位是页,页的大小是 8 KB,则1MB的数据文件 有 128个 页(1MB=128*8KB)2)每页的开头 96 字节,用于存储有关页的系统信息,包括页码、页类型、页的可用空间以及拥有该页的对象的分配单元 ID 3)单记录最大8060字节4)在页中通过行偏移表定位记录5)区是SqlServer管理空间的基本单位,由8个连续的页组成(64Kb)6) 统一区:由单个对象使用。7)混合区:最多可由8个对象使用。8)SQL Server 数据库文件由文件页组成,每个文件有文件Id,每页有页编号,例如01:0001,表示01文件编号为0001的页。9)SQL Server表包含在一个或多个分区中,每个分区在一个堆或一个聚集索引结构包含数据行四、Oracle1)oracle最小存储单位是块(大小可以是2kb,4kb,8kb,16kb)2)数据扩展:由一些连续的块组成3)段:由多个数据扩展组成4)Oracle中的数据逻辑上存储于表空间(tablespace)中,而物理上则存储于属于表空间的数据文件(datafile)中5)Oracle数据库中每个表空间是多个物理数据文件构成的。一个数据文件只能属于一个表空间。6) 数据库文件扩展名.ora。五、索引1)用于对数据进行编排,有利于提高查询效率。2)适合建立索引的情况:经常用于查询的列。3)不适合建立索引:表中数据较少,或者某列的值重复较多,例如性别。六、索引类型1)聚集索引:索引表的顺序与数据表的顺序相同,一张表只能有一个聚集索引。2)非聚集索引:索引表的顺序与数据表的顺序只有逻辑上的关系,可以有多个。3)主键索引4)唯一索引七、创建索引语法:    CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]      INDEX   index_name     ON table_name (column_name…)    [WITH FILLFACTOR=x]八、索引结构1)B树/B+树存储2)Hash结构存储3)位图存储(sqlserver不支持)-- 创建hash索引-- 1、添加一个hash列alter table bank add sum_name as checksum(name)-- 2、在hash列上建立索引create nonclustered index ix_sum_name on bank(sum_name)-- 3、根据hash值查询select * from bank where sum_name=CHECKSUM('老黑')

0 0