索引和性能(Indexs and Performance)
From Book: SQL Server 2000 unleashed Second Edition
本章主要内容包括:
- 索引使用标准(Index Usage Criteria)
- 索引的选择(Index Selection)
- 索引统计(Index Statistics)
- 索引设计指南(Index Design Guidelines)
- 索引视图(Indexed Views)
- 索引计算列(Indexed on Computed Columns)
- 索引优化向导(The Index Tuning Wizard)
- 选择索引:查询 & 修改性能(Choosing Indexes: Query Versus update Performance)
有众多原因导致SQL Server的性能比理想情况差些,但大多数情况下,是由于差的索引设计,或者缺乏合适的索引而造成的。所以在你的应用中,通过设计正确的索引来支持SQL Server 的查询和操作,以此就可获得性能的大幅度提高。这种方法的最大优点就是你的应用代码不需要重写(rewirte)就可以迅速从索引中获益。
你需要近距离仔细地检查表中定义的索引,保证索引的合适性,这样当优化器解析查询时,可避免进行表扫描(table scan)和减少I/O代价(I/O Cost)。同时,你也需要理解当SQL Server决定使用一个索引的标准。
要时刻牢记,尽管表上的更多的索引可以帮助提高查询和报表的响应时间,但是太多的索引也能损害插入、修改和删除的性能,这一点也很重要。在有些时候,你的其他索引设计决定,比如在哪一列上创建聚集索引,可能会受到数据如何插入和修改和可能有怎样的locking implications的影响。
显然,正确的索引设计是实现SQL Server对你的应用性能优化的关键问题。在第33章,“SQL Server 内幕”中,你了解了索引的结构和SQL Server如何维护索引。在本章中,主要讲述如何评价索引和SQL Server如何使用索引来提高查询的响应时间。本章运用这些技术,探索影响索引设计的问题和因素。
分享到:
相关推荐
### 分区索引的维护和性能考虑 局部索引不需要重建,而全局索引在某些操作后可能需要重建,导致维护成本不同。 ### Oracle 10g中的分区索引特性 Global分区索引只支持单列range分区,但索引可以是复合索引。Local...
public class IndexBuilder3 extends Configured{ public static class MapperIndex extends TableMapper,Put>{ private String tableName; private String columnFamily;...// 该列对应的索引表名字
在GBase 8s数据库系统中,索引的构建和空间计算是优化查询性能的关键因素。本篇将详细解析GBase 8s中B+树索引的内部存储结构及其空间计算方法。 首先,GBase 8s采用的是B+树这种经典的索引结构。B+树的特点在于所有...
在本实验中,我们主要涉及了SQL语言中的数据定义语言(DDL)部分,这是数据库管理中至关重要的一部分。DDL用于创建和修改数据库结构,包括表、视图、...在实践中,还需要根据具体需求和性能要求灵活运用各种DDL命令。
- **dba_indexs**:描述了数据库中所有索引的信息,包括索引类型、状态等。这对于优化查询性能非常重要。 - **dba_ind_columns**:提供了在所有表及聚集上压缩索引的列信息。这有助于优化存储空间的使用。 - **dba_...
Oracle数据库系统表是数据库管理员进行日常管理和性能优化的重要工具,它们提供了关于数据库对象、存储、权限等全方位的信息。以下是对这些系统表的详细解读: 1. 用户管理: - `DBA_USERS` 表用于查看所有用户的...
实验中创建了对`Sname`的升序索引`Indexs`,以及在`SC`表上按学号升序、课程号降序的唯一索引`SCno`。 7. **DROP INDEX** 语句:用于删除不再需要的索引。 8. **外码约束**:`ALTER TABLE SC`语句中,添加了`C5`和...
- `SELECT i.index_name, i.uniqueness, c.column_name FROM user_indexes i, user_ind_columns c WHERE i.index_name=c.index_name AND i.table_name ='ACC_NBR'`连接查询索引和其对应的列。 6. **序列**: `...
总之,Python的DataFrame提供了多种遍历行的方法,根据具体需求选择合适的方式,如对性能的关注、是否需要原始索引或是否需要对行数据进行复杂操作。熟练掌握这些技巧,可以更高效地处理和分析数据。
ADS(Advanced Design System)是Keysight Technologies(原安捷伦科技)开发的一款强大的射频和微波电路设计软件,它集成了负载牵引功能,帮助工程师找到最佳工作点,如最大功率输出、最高功率附加效率(PAE)或...
理解Oracle表空间的管理和使用是数据库管理员和开发人员必备的知识,这有助于优化数据库性能,确保数据的可靠性和安全性。在实际工作中,根据业务需求和数据库规模,合理规划和管理表空间至关重要。
Oracle数据库管理系统是一个强大的关系型...以上是Oracle数据库的一些基础管理和查询操作,这些例子涵盖了从用户管理到对象查询、表空间监控、索引维护、数据库链接建立等多个方面,对于日常数据库操作和维护非常实用。
* dba_indexs:关于数据库中所有索引的描述 * dba_ind_columns:在所有表及聚集上压缩索引的列 * dba_objects:数据库中所有的对象 * dba_rollback_segs:回滚段的描述 * dba_segments:所有数据库段分段的存储空间 ...
8.9 使用OEM和性能调整组件 224 8.9.1 Oracle Expert组件 224 8.9.2 Oracle性能管理器选项 227 8.10 调整方案 229 第9章 数据库安全与审计 231 9.1 安全性能 231 9.1.1 帐户安全性 231 9.1.2 对象权限 231 9.1.3 ...
- `SELECT i.index_name, i.uniqueness, c.column_name FROM user_indexes i, user_ind_columns c WHERE i.index_name=c.index_name AND i.table_name ='ACC_NBR'`连接查询索引和其列。 6. **序列**: - `SELECT ...
- **索引**:在“Indexs”选项卡中,可以添加单列或多列索引,以提高查询性能。 - **触发器**:在“Triggers”选项卡下,可以定义表级或行级的触发器,如INSERT、UPDATE或DELETE事件的处理逻辑。 4. **表字段自增...
5. 用一个集合 `indexs` 存储当前未处理的人的索引。在每次循环中,找到满足条件的人(即 `BIT` 查询的结果等于 `k` 的人),并将其添加到 `ret` 中,然后更新 `BIT` 以反映当前身高已有人被选。 6. 循环直到所有人...
### Oracle 数据字典表与动态视图详解 #### 一、概述 在Oracle数据库中,数据字典(Data Dictionary)是一系列系统表的...掌握这些数据字典表和动态视图的使用方法,对于提高数据库系统的稳定性和性能具有重要意义。
### Oracle系统表大全知识点解析 #### 一、Oracle系统表概览 ...这些系统表为DBA和开发人员提供了强大的工具来管理和优化数据库性能。通过深入理解和利用这些系统表,可以有效地提高数据库的可用性和效率。
where tablespace_name='INDEXS'; -- 查看特定表空间的对象 ``` 3. 数据库对象: ```sql select * from dba_objects; -- 查看所有数据库对象 ``` 4. 表: ```sql select * from dba_tables; -- 查看所有表 ...