`

建立索引常用的规则[转]

 
阅读更多

建立索引常用的规则如下: 
1、表的主键、外键必须有索引;

2、数据量超过300的表应该有索引;

3、经常与其他表进行连接的表,在连接字段上应该建立索引;

4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;

5、索引应该建在选择性高的字段上;

6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;

7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:

  A、正确选择复合索引中的主列字段,一般是选择性较好的字段;

  B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;

  C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;

  D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;

  E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;

8、频繁进行数据操作的表,不要建立太多的索引;

9、删除无用的索引,避免对执行计划造成负面影响;

  以上是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。

(转自http://topic.csdn.net/u/20100112/22/fcf75541-09bd-4373-8d81-2ca833e0195f.html )

分享到:
评论

相关推荐

    sql优化加索引[参考].pdf

    建立索引的规则如下: 1. 主键和外键必须有索引,以保证数据完整性和查询效率。 2. 数据量超过300的表应建立索引,以加速查询。 3. 经常与其他表连接的字段应建立索引,以提高连接速度。 4. WHERE子句中出现频率高...

    (转)sql2005全文索引.doc

    5. **筛选器**: 用于从varbinary(max)或image列中的文件提取特定文本类型的文本,将提取的信息用于建立索引。 6. **填充(爬网)**: 创建和维护全文索引的过程。 7. **干扰词**: 频繁出现但对搜索无意义的词汇,通常...

    SQL语句优化规则

    创建和使用索引是提高查询速度的关键,特别是对于频繁查询的列,建立索引可以显著提升性能。 3. **共享SQL语句** ORACLE的共享SQL语句功能可以避免重复解析,提高执行效率。当SQL语句在内存中的共享池被找到时,...

    快速拼音索引

    然后,建立一个索引结构,如二叉树或哈希表,用于快速定位到特定拼音前缀对应的数据。 4. **查询优化**:在查询时,用户输入拼音关键字,系统通过索引快速找到所有以该拼音开头的记录,返回给用户。为了提高效率,...

    实用汉字转拼音

    汉字转拼音是计算机处理汉字时常用的一种技术,它涉及到中文信息处理、自然语言处理以及语音识别等多个领域。在现代信息技术中,汉字转拼音扮演着重要的角色,尤其对于搜索引擎优化、语音输入、机器翻译等方面具有...

    mysql .pdf建表的一些规则 和注意事项

    - **说明**:对于不常用的查询条件,或者字段数据分布过于均匀的情况,可以考虑不建立索引。 **4.3 容易犯的索引错误** - **常见问题**:常见的索引错误包括未使用最左前缀原则、未覆盖完整查询条件等。在设计索引...

    非常好的数据库开发规范

    - **规则**:避免在索引字段上应用函数,因为这会导致索引失效,从而影响查询性能。 ##### 7.7 引入工作表概念 - **规则**:在处理大量数据时,可以引入临时表(即工作表)来辅助计算和数据处理,提高整体性能。 #...

    常用繁体简体mysql数据库_sql+xls.zip

    - 数据库的优化和性能调整也是关键,尤其是当数据量大时,包括索引的建立、查询优化、内存配置等。 这个压缩包对于需要在MySQL数据库中处理简繁体中文的开发者或管理员来说非常有用。无论是数据迁移、文本转换还是...

    vc6.0 拼音、汉字查表方式相互转换

    同样,如果需要根据拼音查找汉字,可以建立一个反向索引,键为拼音,值为包含该拼音的所有汉字。 为了实现汉字到首字母的提取,我们可以简单地对拼音进行处理,取出声母部分。例如,“你好”转换为“nh”,这在很多...

    专家系统外壳的数据库设计

    2. **索引优化**:为了加快查询速度,可以在常用字段上建立索引。 3. **规范化**:通过对表进行规范化处理,减少数据冗余,避免数据不一致的问题。 4. **安全性**:确保只有经过授权的用户才能访问或修改数据库中的...

    2021-2022计算机二级等级考试试题及答案No.2044.docx

    根据提供的文档内容,我们可以归纳总结出以下几个重要的IT知识点: ### 1. Pentium IV 处理器 - **知识点**:Pentium IV处理器属于...通常情况下,Access支持对文本型、数字型、日期/时间型等数据类型建立索引。

    08年9月四级数据库答案

    3. 索引优化:在数据库中,为了提升查询性能,通常会在常用查询的字段上建立索引。然而,频繁更新索引字段会导致性能下降,因为每次更新都需要更新索引。 4. 数据库对象权限管理:GRANT语句用于向用户或角色授予...

    中文转拼音缩写

    这对于那些需要处理中文字符,特别是在没有汉字输入环境的情况下,如搜索引擎优化(SEO)或者建立基于拼音的索引系统时非常有用。 ASP.NET是由微软开发的一个开放源代码的Web应用框架,它提供了一套完整的开发工具...

    获取拼音简码[vb.net源码]

    同时,它也可以用于建立基于拼音的中文搜索索引,提升搜索速度和准确性。 综上所述,"获取拼音简码[vb.net源码]"的项目是关于如何在VB.NET环境中利用.NET Framework的特性实现汉字到拼音简码的转换,这是一个涉及到...

    db2常用命令大全,有说明

    **说明**:该命令用于建立与特定数据库的连接。`SAMPLE1` 为目标数据库的名称,`USER DB2ADMIN` 指定了登录用户为`DB2ADMIN`,`USING 8301206` 指定了用户的密码为`8301206`。 #### 三、创建别名 **命令**: ```...

    db2常用命令及数据类型

    1. **建立数据库**:在DB2中创建数据库的命令是`CREATE DATABASE`,例如创建名为`DB2_GCB`的数据库,并指定存储位置、字符集、领土和排序规则等属性。 2. **连接数据库**:使用`CONNECT TO`命令可以连接到特定的...

    DB2_常用命令大全

    8. 建立唯一性索引:使用 `CREATE UNIQUE INDEX` 命令为表创建唯一索引,如 `I_ztables_tabname`,确保特定列的唯一性。 9. 查询表:使用 `SELECT` 语句查询特定表,如查询名为 `ZJT_TABLES` 的表。 10. 查询列:...

    第3章 数据库与表的创建及使用(修改)答案.docx

    - 表可以有索引,如候选索引,用于唯一标识记录,但不能基于备注型或通用型字段建立索引。 - 自由表和数据库表在数据管理上有所不同,如自由表加入数据库后变为数据库表,但移出可能被删除。 - 字段有效性规则...

    db2的常用命令 常用命令

    - `COLLATE USING SYSTEM` 使用系统默认的排序规则。 - `DFT_EXTENT_SZ 32` 指定数据库默认扩展大小为32页。 ### 2. 连接到数据库 ```sql CONNECT TO SAMPLE1 USER DB2ADMIN USING 8301206 ``` 这条命令用于建立到...

    java提取汉字首字母

    在Java编程中,提取汉字首字母是一项常见的任务,特别是在处理汉字数据、建立索引或进行拼音搜索时。这个任务涉及到字符编码、Unicode和中文字符处理。以下是对这一知识点的详细阐述: 1. **字符编码**:汉字在...

Global site tag (gtag.js) - Google Analytics