 |
|
|
sqlserver问题解答
|
|
|
|
|
sqlserver问题解答
发布者:
rain 发布日期:2008/9/15
浏览次数:1435
次
|
|
|
|
|
果要找的东西都在索引里,这一步可省) 假设索引是A叉树,数据总量是X行,一个索 引节点能放在一个索引页里 那么使用非聚合索引每读一行数据的开销是 读log(A,X) (A是底 数)个索引页+ 1个数据页 假设每个数据页可以放B行数据 那么全表扫描的开销是 读X/B 个 数据页 (这里的读是“逻辑读”) 由此可见,当读出的行数超过一定程度后,全表扫描的 2、怎么判断是否使用索引? 举一个例子: 表里有1万行,每行200字节,索引是4叉树,数据页大小是2k,填充因子50% 则全表扫描要读2000个(数据)页 而使用非聚合索引检索,每一行是 7页(6索引页+ 1个数据页) 如果要读出的行数 > 286 (2000/7),则应该使用全表扫描 于是,是否应使用索引的问题就转化为要读出多少行 3、如何估算要读出的行数? 这就要读索引的统计信息了,统计信息描述的就是“一个索引节点大致函盖了几行数据” ,数据库引擎在在没有统计信息的情况下,一般是不会使用非聚合不唯一索引的,因为一旦误 统计信息在分布页中,建好索引的时候数据库引擎会自动建好一个分布页,但是修改数据 的时候并不维护分布页,所以数据改变过多的时候就需要重建分布页 4、为什么说Microsoft SQL Server 7.0在这方面做得好? 在低版本的数据库中,有一个语句叫UPDATE STATISTICS,它的作用的重建分布页,当数 据栏的变动比例超过10%~20%,就应该运行这个语句。 这就意味着,数据库管理员有很多事 情要做,比如备份数据,截断日志,重建分布页等 如果你仔细看过SQL7的 Online Book的话 ,其中有一个存储过程,叫sp_autostats Displays or changes the automatic UPDATE STATISTICS setting for a specific index and statistics, or for all indexes and statistics for a given table in the current database. 就是说,在默认情况下,数据库 也就是说,SQL7知道是否应该采用非聚合索引,而其它数据库不知道是否应采用,所以就 不采用这样的索引 另外,据HP的站点说,Microsoft SQL Server 7.0的HP的LH 3 Net Server上创造了什么最高记录,我也忘了具体是什么了,反正就是鼓吹MS及HP的东东性能优良 怎么把SQL65中的表保存为其它的文件格式 ? 答: 用bcp将数据保存为txt文件。 SQL7中,用manager建立新表时,怎样给一个varchar字段赋缺省值? 答:单引号 请问 SQL中的int数据类型是不是就是VB中的Long? 答:在SQL SERVER 中int数据有三种类型 int:-2(31)---2(31)-1 即-2,147,483,648---2,147,483,647 sm allint:-2(15)---2(15)-1 即-32,768---32767 tinyint: 0-255 我有两台SQL Server 7.0,这两台机器通过Internet连在一起 能否通过Intenet进行数据 答: 使用SQL SERVER7的复制(REPLICATION)功能。 sql server 7表中对于字段内容为中文时,如何定义其数据类型,为char还是nchar,或 随便用不用unicode都可以,如果OS不是中文,那么就要加n了 MS SQL中的安全体系中的NT鉴别模式和混合鉴别模式到底有什么区别? 答:前一种94用NT的用户登录到SQL里面了,后一种则需要SQL自己的用户 如何在ACCESS中将文本型字段设为自动编号?? 答:只有长整型的字段才可以设置成为自动编号 我有两台服务器A和B,都是主域控制器,没有委托关系,但在同一个IP网段, A上安装的 是IIS4,B上装SQL SERVER 7.0,请问: 在A上用ASP访问B上的数据库,数据库的用户名和口 答: 使用SQL自己的用户,不与NT域用户集成!
|
常见问题 | 我要留言 | 添加到收藏 |
|
|
|
|
|
|