SQL Sever 2000的系统数据库和索引-数据库专栏,SQL Server
来源:作者: 发布时间:2007-12-25 13:54:13


sql sever 2000的系统数据库和索引 学习人:hsly 学习书籍:sql server 2000入门和提高 撰写日期:2004-7-12 章节:4.1 p44 9.6.1p126 sql server 2000 在安装过程中,创建了4个系统数据库,这4个系统数据库是运行sql server 2000的基础,建立在这4个系统数据库中的表格奠仪了运行和使用sql server的规则。这4个数据库分别是:master, model, tempdb, masdb . master数据库 master数据记录了sql server 2000任何的服务器系统信息,任何的注册帐号和密码连同任何的系统配置信息。master数据库还记录了任何用户定义数据库的存储位置和初始化信息。由于master数据库的关键性,所以一旦他受到损坏,都有可能导致用户的sql server应用系统的瘫痪,所以要经常备份master数据库。 tempdb数据库 tempdb数据库记录了任何临时表格、临时数据和临时创建的存储过程。tempdb数据库是个全局资源,没有专门的权限限制,允许任何能够连接上的sql server服务器的用户使用。在tempdb数据库中存放的任何数据信息都是临时的。每当连接断开是,任何的临时表格和临时存储过程都将自动丢弃。所以每次sql server启动时,tempdb数据里面总是空的。当临时存储的数据量急剧增加时,tempdb数据库的大小能够自动增长。 model数据库 model数据库是建立新数据库的模板,他包含了将复制的每个数据库中的系统表。执行创建数据库的语句create databases时,服务器总是通过复制model的数据库建立新数据库的前面部分,新数据库的后面部分被初始化成为空白的数据页,以存放数据。 msdb数据库 msdb数据库主要是被sql server agent 用于进行复制、作业调度连同管理报警等活动。数据库常用于通过调度任务排除故障。 索引的特点和用途 索引是sql server在列上建立的一种数据库对象。他对表中的数据库提供逻辑排序,能够提高数据的访问速度。 例如,要查找有10000行记录的employee表中任何来自北京的雇员的名字。假如没有在这张表上针对雇员的地址建立索引,则dbms在执行操作是必须遍历表中的每一行,并只显示那些来自北京的行中的姓名字段。这种遍历每一行记录并完成查询的过程叫做表扫描。 sql server 执行一次表扫描,将依次读取任何的数据页。对只有10000行数据的小表来说,执行一次表扫描并不算麻烦。但是假如employee表的数据是现在的1000倍,记录总量达到10000000又该怎样呢?而且,就算只是有一条记录,并且记录在第一页上,sql server也不得不在任何的数据页中查找任何地址为北京的雇员的名字。 假如在地址栏上增加一个索引,由于该索引包括一个指向数据的指针,所以使用该索引完成相同查询的方式和表扫描不同。dbms只沿着索引排序的顺序对仅有一列数据的索引表进行读取(假如只建立了一个索引的话),直至找到北京。然后,dbms沿着索引指针的指向转移到数据表上,查找到相应的数据。由于索引总是按照一定的顺序进行排序,所以对索引进行扫描的速度大大快和表进行扫描的速度。
|
还没有关于此文章的相关评论!