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

2016-01-29 16:43 1 1 收藏

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

【 tulaoshi.com - SQLServer 】

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

来源:https://www.tulaoshi.com/n/20160129/1499399.html

延伸阅读
笔者认为,在创建索引时要做到三个适当,即在适当的表上、适当的列上创建适当数量的索引。虽然这可以通过一句话来概括优化的索引的基本准则,但是要做到这一点的话,需要数据库管理员做出很大的努力。具体的来说,要做到这个三个适当有如下几个要求。 一、 根据表的大小来创建索引。 虽然给表创建索引,可以提高查询的效率。但是数...
标签: 办公软件
    对于一个公司,每天都会产生许多新的业务数据,例如销售数据、存货的进出、人事变动的数据资料。这些数据必需加以处理,才能知道每段时间的销售金额、某个时候的存货量、要发多少薪水给每个员工等。而要对这些数据进行有效的处理,就离不开数据库系统。     管理数据库可用专门的数据...
问题 我常被问到如何把驻留在物理服务器/SQL 实例上的数据库转变为它们相应的应用程序名称。在准备计划好的服务器停机通知时,这种需要就产生了,但在我的组织内与IT经理或非技术人员沟通时,这也是有价值的。如果你不是数据库管理员或特定数据库的应用分析师,你通常会无视数据库的命名规则,而这些数据库支持着你每日依赖的应用程...
标签: MySQL mysql数据库
因工作需要,要将存放在sql server数据库中的数据全部导入到mysql数据库中,在网上搜集相关资料,找到两种方法,现在分别谈谈对他们的看法。 第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数据库中的...
标签: PHP
接着,来个稍微复杂一点的,如果有个ORDER BY字句呢?不管你信不信,大多数的数据库在使用order by的时候,都将会从索引中受益。 SELECT * FROM mytable WHERE category_id=1 AND user_id=2 ORDER BY adddate DESC; 有点迷惑了吧?很简单,就象为where字句中的字段建立一个索引一样,也为ORDER BY的字...

经验教程

257

收藏

79
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部