聚集索引与非聚集索引
思韵闪耀
2012-05-20
0
1,Current Disk Queue Length:长度要小于等于 2*物理磁盘数,不然,说明有任务在等待,磁盘处于繁忙之中。

2,实施方案:
     1)内存:64位。
     2)磁盘:放在磁盘柜中
     3)日志文件放在另一磁盘上,日志文件与数据文件分开在不同的物理磁盘上。
     4)radio,radi5
     5) 对于大表,可进行分区,并放到多个磁盘上。 
3,索引,对数据进行了排序,为存储这种排序结构,选择用B-树来实现,在B-树的分支节点中存储着最小值,因为是有序的数据,这样在查找的时候就可用折半查找等方法来检索数据,比如通过非聚集索引查找数据,再通过指示的键值去表中检索数据,并不是一步就到聚集索引所在的行的,而是遍历B-树结构,找到指示的叶子节点,然后再取出相关数据。
4,Sql Server中所有的聚集索引都是唯一的,如果在建立时没有指定unique关键字, SqlServer会在需要时通过向记录插入一个唯一标识符在内部保证索引的唯一性,该某一标识符是一个4字节长的值,需要的时机指的是出现重复值时。
5,非聚集索引中的叶级别中有索引字段的值,同时还包含了一个引向表数据的书签,书签格式按表中有无聚集索引分为两种:1,Key值。聚集索引的字段值。  2,RID:文件号:页号:槽号。
从中可以看出,1)若表中有聚集索引,那么当聚集索引的值发生更改时,会影响到非聚集索引的值改变,非聚集索引依赖于聚集索引,故聚集索引的选择很重要,最好能够建立在很少更新的字段上。
                       2)通过非聚集索引查找数据,若数据还需要通过书签去查找,那么会有一部分开销,这就天生决定了非聚集索引的适用场合,即:非聚集索引适用在大表取少量数据时最有用,因为书签查找并不会造成很大的开销,并且,它特别适用于 select要求的字段,非聚集索引都包含的情况,即索引覆盖,这种情况下,性能有时会比聚集索引还要高效,因为非聚集索引引用的字段少的,占用的物理页数比表的页数少很多,故相应的检索就很快。但是在大范围取数据时,它的书签查找就会成为制约,此时,不如直接来个聚集扫描会更快一些,故 sqlserver的执行计划中会看到,本来有索引的地方不用,而使用了聚集索引扫描方式。
6,索引使用过程中的几种类型:
     1)覆盖索引: select 中的字段,非聚集索引中都包含。 
     2)索引交叉:应用了多个索引进行如where条件的过滤,然后进行合并。
     3)索引连接:一个用于过滤,从另一索引中取要求的字段,利用了索引空间小的特点,避免了书签查找表。
7,查看索引:sp_helpindex frmuser

8,索引使用状况统计:

Select  t.object_id, ix.name,user_updates, user_seeks,user_scans,t.name,ix.name,sc.name
    from sys.dm_db_index_usage_stats ius
    JOIN sys.tables t ON ius.object_id = t.object_id
    JOIN sys.indexes ix ON t.object_id = ix.object_id AND ix.index_id = ius.index_id
    JOIN sys.index_columns ixc ON t.object_id = ixc.object_id AND ix.index_id = ixc.index_id
    JOIN sys.columns sc ON t.object_id = sc.object_id AND ixc.column_id = sc.column_id
where t.name = 'bdorder'    --user_updates > 10 * (user_seeks+user_scans) 就是应drop的

 

 


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

SQLSERVER】批量导...
1.在Microsoft SQL Server Managemen...
2025-05-15
SqlServer 数据库...
--查看数据库大小SELECT DB_NAME(database_...
2024-09-03
docker-compos...
1.Compose介绍 DockerCompose是一个用来定义和...
2024-04-26
Mysqldump 时出现...
Mysqldump 时出现错误及解决方案:mysqldump: C...
2024-01-16
centos7 firew...
名词解释 在具体介绍zone之前学生先给大家介绍几个相关的名词,因...
2023-12-22
MySQL数据库”mysq...
MySQL数据库”mysql SQL Error:1146,SQL...
2023-12-02

热门资讯

sql中int型与varcha... sql中int转varchar或nvarchar,varchar或nvarchar转int的方法: ...
SQLSERVERAGENT ... 上的 SQLSERVERAGENT 服务启动过,然后又停止了。 (ObjectExplorer) 可...
SQL Server 中4个系... SQL Server 中4个系统数据库,Master、Model、Msdb、Tempdb 系统数据库...
SQL Server中如何设置... 对于已经建好的数据库表,是不能在SQL Server Management中可视化地修改ID为自增长...
该表已为了复制而被发布,所以... 场景:从发布库上将一数据库移到另一服务器,在对表改名时提示该表已为了复制而被发布,所以无法重命名。 ...
SQL Server 2008... SQL Server 2008 R2运行越久,占用内存会越来越大。 第一种: 有了上边的分析结果,解...
SQL Server (MSS... SQL Server (MSSQLSERVER) 启动后 自动生成文件 audittrace2022...
如果使用没有提供选项值的 Sq... 如果使用没有提供选项值的 SqlDependency,必须先调用 SqlDependency.Sta...
传递给数据库 'master'... 传递给数据库 master 中的日志扫描操作的日志扫描号无效 错误:连接数据库的时候提示:SQL S...
数据仓库SSAS+SSIS+... 数据仓库SSAS+SSIS+SSRS SSAS- 1,用ssas生成多维度,然后利用excel的da...