码迷,mamicode.com
首页 > 数据库 > 详细

SQL数据库如何存储?

时间:2015-01-14 18:15:52      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:sql数据库存储方式

在学习SQLserver过程中,由于现在数据库的图形管理工具功能越来越强大,用户对数据库的组成结构不是很了解,会给日后管理或调整带来问题?

此文将简单介绍SQL SERVER数据库组成,从用户角度来看,数据库内含许多对象,包括:数据表,视图、索引、存储过程等,如下图为SQL Server数据库的逻辑结构:

技术分享

然而从数据库物理结构来看,每个SQL数据库是由“数据文件”与“日志文件”组成,如下图为:数据库物理结构

技术分享

   当数据库文件和日志文件存放在同一个硬盘,数据库可以正常动作,但是如果大量的事务处理可能会导致性能下降,因为读写数据与日志的动作如果同时发生,容易产生磁盘竞争,I/O效率会打上折扣,事务处理速度可以会有所下降。


   SQL只会为数据表和索引分配EXTENTpage1extent8个连续的page组成,而Page存放上限为8060bytes,数据行不可以跨越page 。如当用户添加一笔数据时,数据会将他存放在该数据库表对应的PAGE。而假设这一笔数据长为80bytes8060bytes/80bytes=100rows,PAGE就可以存放100Rows,如果第101笔数据要存放在同一个数据表时,SQL就会将他存到第二个PAGE,当存放第801笔数据时,SQL才会配置第二个EXTENT,依此类推。


    我们知道了只有数据表和索引存放在EXTENTPAGE,那么视图,约束等对象时,SQL只会将该对象的定义存入系统数据库表。当空间不够时,不管是用户数据表或系统数据表,SQL就会自动配置新的EXTENT.


本文出自 “什么是我们的最爱” 博客,请务必保留此出处http://pxizhi.blog.51cto.com/5283742/1603922

SQL数据库如何存储?

标签:sql数据库存储方式

原文地址:http://pxizhi.blog.51cto.com/5283742/1603922

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!