当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Sever 2000的系统数据库和索引

MSSQL
优化SQL Server索引的小技巧
SQL Server的空值处理策略
Windows上的MySQL UDF开发
MS SQLSERVER中如何快速获取表的记录总数
MS SQLSERVER 中如何得到表的创建语句
使用索引调节向导调整应用程序的性能
使用查询分析器调整SQL服务器脚本
SQL Server到Oracle连接服务器的实现
数据库查询结果的动态排序(6)
数据库查询结果的动态排序(7)
保持Oracle数据库优良性能的若干诀窍
数据库管理员制胜之宝
在Linux下访问MS SQL Server数据库
关于如何在查询结果中添加自动编号
如何提取除最新十条记录之外的所有记录?
一个有关DISTINCT的问题解答
关于MSSQL Server中DATETIME类型数据的处理
TOP N 和SET ROWCOUNT N 哪个更快?
金额阿拉伯数字转换为中文的存储过程
谈谈数据从sql server数据库导入mysql数据库的体验

MSSQL 中的 SQL Sever 2000的系统数据库和索引


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 74 ::
收藏到网摘: n/a

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沿着索引指针的指向转移到数据表上,查找到相应的数据。由于索引总是按照一定的顺序进行排序,所以对索引进行扫描的速度大大快与表进行扫描的速度。