`
wangyanlong0107
  • 浏览: 495147 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

关于索引

 
阅读更多

    索引是建立在数据库表中的某些列的上面。在创建索引的时候,应该考虑在哪些列上可以创建索引,在哪些列上不能创建索引。一般来说,应该在这些列上创建索引:

    在经常需要搜索的列上,可以加快搜索的速度;

  在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;  在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;  在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;

  在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。

最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述,先建立一个如下的表。  CREATETABLEmytable(  idserial primary key,  category_id int not null default0,  user_id int not null default0,  adddate int not null default0  );  如果在查询时常用类似以下的语句:  SELECT * FROM mytable WHERE category_id=1;  最直接的应对之道,是为category_id建立一个简单的索引:  CREATE INDEX mytable_categoryid ON mytable (category_id);  OK.如果有不止一个选择条件呢?例如:  SELECT * FROM mytable WHERE category_id=1 AND user_id=2;  第一反应可能是,再给user_id建立一个索引。不好,这不是一个最佳的方法。可以建立多重的索引。  CREATE INDEX mytable_categoryid_userid ON mytable(category_id,user_id);  注意到在命名时的习惯了吗?使用"表名_字段1名_字段2名"的方式。

 

分享到:
评论

相关推荐

    关于索引概念\特点\优点\缺点\分类\使用

    ### 关于索引概念、特点、优点、缺点、分类及使用的详细解读 #### 索引的概念 在数据库管理系统(DBMS)中,索引是一种数据结构,它可以帮助快速定位数据库表中的数据记录,从而提高数据检索的速度。索引类似于...

    整理MYSQL中关于索引的相关面试题集

    本篇文章将详细讲解MySQL中关于索引的相关知识点,包括索引的数据结构及其优劣,以及如何查看和分析SQL执行计划。 1. **索引的数据结构** - **哈希索引**:适用于单条记录查询,哈希索引通过哈希函数将键值转化为...

    ElasticSearch RestHighLevelClient 关于索引库、文档的基础操作

    以上就是Elasticsearch RestHighLevelClient关于索引库和文档的基本操作。在实际应用中,还需要考虑错误处理、集群配置、性能优化等因素。了解并熟练掌握这些操作,将有助于我们更好地利用Elasticsearch来管理和检索...

    Oracle培训 关于索引等详细信息的讲解

    在Oracle数据库中,索引分为B树索引、位图索引、函数索引等多种类型,每种都有其特定的应用场景和优缺点。 二、B树索引 B树索引是最常见的索引类型,适用于全值匹配查询。在Oracle中,B树索引由一个或多个索引块...

    mysql关于索引的面试题

    MySQL中的索引是数据库性能优化的关键工具,它能显著提高数据检索的速度。下面将详细讨论索引的类型、存储方式以及可能导致索引失效的场景。 首先,我们来看一下索引的类型: 1. **主键索引(Primary Key Index)*...

    C#关于索引器的详解笔记

    ### C#中的索引器详解 #### 一、索引器概述 索引器是C#语言提供的一个特性,它允许我们像操作数组那样通过索引来访问类或结构体的实例成员。通常情况下,当我们想要根据某个键或者索引来获取或设置对象内部的数据...

    MySQL数据库中关于索引的研究.pdf

    MySQL数据库中的索引是提高查询效率的关键技术,尤其是在处理大量数据时。本文主要探讨了MySQL数据库索引的原理、类型和优化方法。作者通过实例分析,展示了索引在解决数据库性能问题上的重要作用。 首先,作者指出...

    阿里面试中关于索引有关的问题以及知识点.pdf

    在阿里的面试中,索引是一个重要的讨论话题,特别是对于处理大数据量的系统而言。索引是一种特殊的数据结构,它被用来加速数据库中的数据检索。面试官和面试者讨论了几个关键的索引概念和技术,包括: 1. **索引...

    数据结构课后实验关于索引

    这是数据库课后的一个习题,由于本人初学者,做的不是很好,不过还是希望可以帮到你。

    SQLServer索引碎片和解决方法

    通过上述命令,我们可以获取到关于索引的详细信息,包括扫描页数、扫描扩展盘区数、扩展盘区开关数等。这些指标可以帮助我们评估索引的健康状况,进而决定是否需要对索引进行优化。 #### 五、解决索引碎片的方法 ...

    优化SQL Server索引的小技巧

    如果你运行这个向导,你会看到关于数据库中关于索引的统计量,这些统计量作为日志工作并定时更新,这样就减轻了手工重建索引所带来的工作量。如果你不想自动维护索引,那么你可以手工重建索引,并在需要时执行 ...

    数据库SQLSERVER索引

    关于索引的常识影响到数据库性能的最大因素就是索引。由于该问题的复杂性,我只可能简单的谈谈这个问题,不过关于这方面的问题,目前有好几本不错的书籍可供你参阅。我在这里只讨论两种SQLServer索引,即clustered...

    oracle rac环境下索引热块的处理思路

    关于索引使用的一些参考经验: 1. 无法使用索引的场景 索引并不总是有用的,有些情况下,索引可能会降低性能。例如,如果查询语句中的 WHERE 子句中包含多个列,而这些列都有索引,那么索引可能会被忽略。 2. ...

    查看mySQL数据库索引

    - `comment`: 关于索引的注释。 - `index_comment`: 索引的用户定义注释。 #### 四、检查MySQL索引是否生效 为了确保索引能够正常工作并提高查询效率,我们需要验证索引是否被实际使用。这通常通过`EXPLAIN`命令来...

    索引使用规则.txt

    根据“索引使用规则.txt”文件提供的信息,我们可以深入探讨一系列关于索引使用的最佳实践与限制条件,以下是对这些规则的详细解析: ### 1. 索引与逻辑运算符的兼容性 当在WHERE子句中使用`NOT`或`LIKE '%XX%'`这...

    查询索引对应的表和列

    通过解析这个DDL语句,我们可以获得关于索引的所有细节,包括它所基于的表和列。 ### 结论 查询索引对应的表和列对于理解数据库结构、优化查询效率以及进行数据库维护至关重要。通过以上介绍的两种方法——查询...

    数据库性能调优技术1索引调优.pdf

    接下来,文件中提到了几个关于索引使用的常见误区: 1. 索引并非越多越好。虽然索引可以加快查询速度,但过多的索引会降低更新操作的效率,因为每次数据变更操作都需要更新所有相关索引。因此,创建索引时应该进行...

    Explain详解与索引最佳实践.zip

    关于索引的最佳实践,有以下几点值得注意: 1. **选择合适的数据类型**:索引的性能与数据类型密切相关,尽可能使用占用空间小且排序效率高的数据类型。 2. **主键索引**:每个表应有一个唯一的主键,这将自动创建...

    richard.foote关于索引的深入研究

    Richard Foote:1982年从英国移民到澳洲堪培拉,1996年进入ORACLE公司,2002年离开ORACLE,从事ORACLE咨询服务。其专长是对ORACLE索引的深入研究,揭示了我们看不到的地方。

Global site tag (gtag.js) - Google Analytics