C军

不玩博客了!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年6月14日

摘要: 实际上,索引的维护主要包括以下两个方面: 页拆分 碎片 这两个问题都和页密度有关,虽然两者的表现形式在本质上有所区别,但是故障排除工具是一样的,因为处理是相同的。 对于非常小的表(比64KB小得多),一个区中的页面可能属于多余一个的索引或表---这被称为混合区。如果数据库中有太多的小表,混合区帮助SQL Server节约磁盘空间。 随着表(或索引)增长并且请求超过8个页面,SQL Server创建专用于该表(或索引)的区并且从该区中分配页面。这样一个区被称为统一区,它可以为多达8个相同表或索引的页面请求服务。一、碎片 当数据库增长,页拆分,然后删除数据时,就会产生碎片。从增长的... 阅读全文
posted @ 2013-06-14 12:36 逆心 阅读(16493) 评论(1) 推荐(9) 编辑

摘要: SQL Server索引的设计主要考虑因素如下: 检查WHERE条件和连接条件列; 使用窄索引; 检查列的选择性; 检查列的数据类型; 考虑列顺序; 考虑索引类型(聚集索引OR非聚集索引);一、检查WHERE条件列和链接条件列 当一个查询提交到SQL Server时,查询优化器尝试为查询中引用的所有表查找最佳的数据访问机制。下面列出查询优化器针对WHERE和连接的工作方式:优化器识别WHERE子句和连接条件中包含的列。接着优化器检查这些列上的索引。优化器通过从索引上维护的统计确定子句的选择性,评估每个索引的有效性。最终,优化器根据前面几个步骤中手机的信息,估计读取所限定行开销... 阅读全文
posted @ 2013-06-14 09:21 逆心 阅读(3624) 评论(1) 推荐(2) 编辑