美文网首页
数据库存储结构

数据库存储结构

作者: 江君l | 来源:发表于2018-08-05 16:46 被阅读0次

当我们的数据库的数据达到一定量级(百万,千万)的时候,一般会首先考虑对数据库进行性能调优,那我们拿到一个数据应该如何对其进行优化呢?
是分表、分库、怎么分,用什么策略吗?分表分库又能提高多大的性能呢?

要回答上面的问题,首先我们得解决一个问题:数据库的物理存储结构

我们平常在设计数据库的时候,一般只需要建库、建表、数据的增删改查等等这些,其实这个是数据库的逻辑结构
而要对数据库优化必须了解它的物理结构,因为所有的数据操作都是针对物理结构的。

数据文件

数据库文件是指数据库中用来存放数据库和数控对象的文件,一个数据库可以有一个或多个数据库文件,一个数据库文件只能属于一个数据库
当多个数据库文件时,有一个文件被定为主数据文件,用来存储数据库的启动信息和部分或全部数据,数据文件则划分为不同的区域
是sql server存储数据的基本单位。

1-1

2014版中,页的大小是8kb,每个页可分为页头、数据行和行偏移矩阵。
页头 存储有关页的系统信息,所属文件号,页面编号等
数据行 就是存数据的了,一个所有列都是固定长度的表,在每个页上存储的行数总是相同的
行偏移矩阵 是2字节组成的块,每个2字节表示相应的数据行开始的偏移。每条记录对应一个2字节项。
8个连续的页组成的数据结构称为 盘区,2014版中有两种类型的盘区,如图所示:

1-2

统一区:由单个对象(表,或索引等)所有,区中的8页只能由所属对象使用
混合区:最多有8个对象共享,每个页可以由不同对象所有

数据行的结构
先是所有的固定长度的列,然后是所有变长列,对于每一个定长或变长数据,都是按照建表是的列顺序来存储的

1-3

定长记录的存储


1-

变长记录的存储


1-5

注意,数据行存储在页中,但数据页只能包含除text、ntext和image数据外的数据,这些数据存储在单独的页中
数据行不能跨页存储,而每页最大时8kb,所以每行数据最大时8kb

日志文件:

sqlserver的日志文件是由一系列的日志记录组成,而不是页。日志文件记录了存储数据库的更新情况等事务日志信息,用户对数据库进行的插入、删除、更新等操作都会记录在日志文件中。
当数据库损坏时,可以根据日志文件分析出错的原因,或者数据丢失时,还可以使用事务日志恢复数据库。每个数据库至少拥有一个日志文件。

总结:把数据库比作一个书架,每本书就相当于一个盘区,书中的页就是数据库的数据页,也有页码页面注释这些信息,每行字就是数据行。一个表的数据可能会占用几页,甚至几本书
欸,会不会数据库的作者就是参考书架的这种思想来设计的!


Positive people are lucky people, they can see the roses while others see only the thorns

相关文章

  • oracle数据库存储结构

    ----存储结构概述:oracle 数据库的存储结构分为物理存储结构和逻辑存储结构两种。物理存储结构主要用于描述在...

  • oracle数据库储存结构

    oracle 数据库的存储结构分为物理存储结构和逻辑存储结构两种。物理存储结构主要用于描述在 oracle 数据...

  • 数据库的存储结构

    数据库的存储结构 数据库的存储结构是怎样的? 记录是按照行存储的,但是数据库的读取不是以行为单位,否则一次读取只能...

  • (1)GO数据库设计结构详解

    1.GO数据库的总体存储结构 GO数据库的存储结构主要分为四种:termdb,assocdb,seqdb,以及fu...

  • 2017 11-15 redis应用

    一.redis介绍 (1)概念:属于非关系型存储数据库——基于kv(键值存储)的开源的内存存储,数据库结构存储。经...

  • 数据库简介

    “数据库是按照数据结构来组织、存储和管理数据的仓库” 数据库(Database)是按照[数据结构]来组织、[存储]...

  • hz-mongodb数据库理解

    what:什么是数据库,以及数据库 和数据解构的理解按照一定数据结构存储的数据仓库叫数据库。分类 :按照表结构存储...

  • MySQL注入总结

    01 MySQL数据库结构及常用函数 一、MySQL数据库结构 MySQL数据库采用库=>表=>列=>数据的存储结...

  • 数据结构

    家谱树数据结构 1、家庭成员数据库表存储结构,代码使用room存储数据 其中id作为数据库主键自增。而father...

  • Java面试题集三

    一、Redis分布式存储 Redis:非关系型数据库,Key-Value形势存储,结构灵活;是内存中的数据结构存储...

网友评论

      本文标题:数据库存储结构

      本文链接:https://www.haomeiwen.com/subject/vzcbvftx.html