1.char()是定长的字段限制 如:char(20) 我們存入 Microsoft 九个字符,每次存储只能
是 20 个,后面的空格都会包括的,如果不确定数据的数量肯定会浪费空间。
varchar()是不定長的,如存入 Microsoft,每次取出只有 9 个字符不包括空格。至于
nvarchar()是比 varchar()功能更多实际上,能存入更多类型的数据
XML 类型查找数据的方法:query 方法用于从 XML 数据类型提取 XML;value 方法用
于从 XML 文档中返回单个值;exist 方法用于确定指定节点是否存在于 XML 文档中。
这几个查找数据的方法谈不上哪个效率更高,每个都有它的用途;
使用存储过程和 T-sql 语句最大的区别就是:存储过程在创建时就进行了编译,以后调用
时不在需要编译了,速度快。而 T-sql 语句每次执行时都会进行编译一次的,
会浪费很多时间,而且速度慢
2.master:它包含一个系统表集合,是整个实例的中央存储库,维护登录账户,其他数据
库,文件分布,系统配置设置,磁盘空间,资源消耗,端点和
链接服务器等方面的信息。它记录 SQL2005 初始化信息,所以它对实例极为重要。在创
建,修改或删除用户数据库,更改服务器或任何数据库配置,以及修改
或添加用户账户后都要备份该数据库。
model:它是 SQL2005 实例中所有新建数据库的模板。执行 create database 命令时
SQL2005 会简单地将该模板数据库中的内容复制到新建数据库中,如果希望
新建的每个数据库都带有表,存储过程,数据库选项和许可等,那么可以在 Model 数据
库中加入这些元素,此后再新建数据库时就会添加这些元素。
msdb:该库供 SQLserver 实例--主要是 SQLServer 代理使用来存储计划的任务,修
改和备份、还原历史信息。对自动化任务和 DTS 作了某些修改的命令时需要备份它。
tempdb:它是 SQL2005 用于各种操作的实例范围的临时工作空间。
resource:它是 SQL2005 新引入的数据库,是只读的。包含所有的系统对象,如系统存
储过程,系统扩展存储过程和系统函数等。
当 master 数据库被破坏 并且 没 有 可 用 的 备 份 时 ,可以使用自动设 置中 的 Rebuild
database 选项将其恢复成实例安装后的状态。必须经过认真考虑后才能使用该操作,因
为它会清除包括
所有登录在内的所有服务器相关的配置,从而不得不从头开始重做所有的事情。
3.tempdb 的用途:1)存储专用和全局临时变量,不考虑数据库上下文;
2)与 Order by 子句,游标,Group by 子句和 Hash 计划相关的工作表
3)显式创建的临时对象,如存储过程,游标,表和表变量。
4)如果启动快照隔离功能,记录所有版本的更新记录。
5)指定 Sort_in_tempdb 时创建或重建索引操作时的临时排序结果
如果 TempDB 异常变大,可能的原因是数据被频繁的使用 tempdb 数据库,出现了瓶颈。
这种现象是十分罕见的。可以考虑在同一台服务器上安装多个 SQL2005 实例,并将数据
库分为多个
实例。因为每个实例都有它自己的 tempdb,所以这样就会有效地分散 tempdb 的使用。
4.聚焦索引:必须按顺序存储数据
非聚焦索引:它可以按非顺序存储数据的
包含性列索引:指包含索引键值之外的其他的索引
索引视图:第五题