MYSQL的索引主要作用是什么!

知道可是以提高查询的速度,但它的过程是如何实现的,能否说个实例,谢谢!

索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录,索引就必须刷新一次。为了在某种程度上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。

这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行。在需要把许多新记录插入某个数据表的场合,DELAY_KEY_WRITE选项的作用将非常明显。

另外,索引还会在硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据列建立索引。如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。



扩展资料

从理论上讲,完全可以为数据表里的每个字段分别建一个索引,但MySQL把同一个数据表里的索引总数限制为16个。

与InnoDB数据表相比,在InnoDB数据表上,索引对Inn数据表的重要性要大得多。在 InnoDB 数据表上,索引不仅会在搜索数据记录时发挥作用,还是数据行级锁定机制的基础。

在为MySQL分配足够的内存之前,请考虑不同领域对MySQL的内存需求。要考虑的关键领域是:并发连接——对于大量并发连接,排序和临时表将需要大量内存。在撰写本文时,对于处理3000+并发连接的数据库,16GB到32GB的RAM是足够的。

参考资料来源:百度百科-MySQL数据库

参考资料来源:百度百科-mySQL

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-07-22

在MySQL的性能优化中,索引是非常重要的一块,好的索引逻辑可以大大提高MySQL的效率。正如google、百度一样,索引也是期数据查询中重要的一个因素。

索引分单列索引和组合索引。

    单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。

    组合索引,即一个索引包含多个列。

创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。

实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。

上面都在说使用索引的好处,但过多的使用索引将会造成滥用。因此索引也会有它的缺点:

    虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。

    建立索引会占用磁盘空间的索引文件。

如果需要更多有关数据库索引的知识,你可以到 shulanxt 看看,专门做数据分析教程的一个网站。

-from shulanxt

第2个回答  2013-08-03
索引就像一本书的目录,例如:你想看一本书的第20章,你会先查看目录中第20章所处的页数,然即时翻到第20章所处的页数,而不用一页一页翻过去,索引相当于目录功能,助你快速查询
第3个回答  2013-08-03
索引会先把索引列按照一定顺序排列起来,这样再找的时候就快的多了。。
第4个回答  推荐于2017-04-20
索引是指把你设置为索引的字段A的内容储存在一个独立区间S里,里面只有这个字段的内容。在找查这个与这个字段A的内容时会直接从这个独立区间里查找,而不是去到数据表里查找。找到的这些符合条件的字段后再读取字段A所指向真实的数据记录的物理地址,再把对应的数据内容输出。 如果你查找的不是索引的字段那么他会从数据表里面查找。因为数据表有很多不相关的字段,数据库程序是不会省略不查找。要判断那些不相关的字段以及多次在记录中跳转是花费一定的资源的。 当然不是设置越多索引就越好。因为索引都放到这个独立区间S,独立区间S越大搜索所占的资源就越大。如果你只有一个字段为索引,那么你搜索这个字段是非常快速的。 你想了解更多有关方面的知识你可以学习一下数据结构。推荐这本书:http://www.douban.com/subject/1139426/你可以直接到当当网去网购,免运费。本回答被网友采纳

MYSQL的索引主要作用是什么!
索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录,索引就必须刷新一次。为了在某种程度上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入\/修改完毕...

mysql索引
在mysql中,索引是一种特殊的数据库结构,由数据表中的一列或多列组合而成,可以用来快速查询数据表中有某一特定值的记录。通过索引,查询数据时不用读完记录的所有信息,而只是查询索引列即可。通过索引,查询数据时不用读完记录的所有信息,而只是查询索引列。否则,数据库系统将读取每条记录的所有信息...

mysql索引是什么
MySQL索引:数据库中的高效导航工具 想象一下,MySQL索引就像图书馆的书目,它为数据表中的海量信息提供了一条快速检索的捷径。通过索引,MySQL能够在内存中创建一个有序的索引表,根据选定列的值进行排序,这样在查询时就能直接定位到目标数据,显著减少了查询整个数据表所需的时间,从而提升查询速度。然而...

MySql是怎么使用的索引,在哪些情况下会使用
MySql为以下这些操作使用索引:1、为了快速查找匹配WHERE条件的行。2、为了从考虑的条件中消除行。如果在多个索引之间选择一个,正常情况下,MySql使用找到行的最小数量的那个索引。3、如果表有一个multiple-column索引,任何一个索引的最左前缀可以通过使用优化器来查找行。例如,如果你有一个 three-column...

mysql的索引有哪些
MySQL的索引主要有以下几种:一、B树索引(INDEX或KEY):最基本的索引,用于快速查找数据。大多数MySQL存储引擎如InnoDB和MyISAM都使用B树结构进行索引处理。它通过建立一个有序的数据结构来快速定位数据记录的位置。当进行数据查询时,可以通过索引快速定位到相应的数据块,从而大大提高查询效率。二、哈希...

MySQL中的主键索引是什么mysql中主键索引是啥
MySQL中的主键索引是什么?在MySQL数据库中,主键索引是一种用于唯一标识每个记录的索引类型。主键索引将表中的每个记录与一个唯一的标识符相对应。这个标识符可以是单个列或多个列的组合。主键索引的设计是为了帮助数据库管理系统快速访问表中的数据,提高数据查询和更新的性能。主键索引的优点 1. 唯一性...

MySQL一级索引详解作用实现方式及优化方法mysql一级索引
一、MySQL一级索引的作用 MySQL一级索引,也叫主键索引,是数据库表中最基本的索引,它可以保证每一行的唯一性。在MySQL中,每个表只能有一个主键索引。一级索引的主要作用是用于快速查找和访问表中的数据。如果表中没有主键索引,那么数据库引擎就会遍历整张表来查找数据,这样查询速度非常慢。二、MySQL...

深入解析MySQL中使徒的重要作用mysql中使徒的作用
深入解析MySQL中索引的重要作用 MySQL是现代Web应用程序中最流行的关系型数据库管理系统。在MySQL中,索引是其最重要、最基本的特性之一,它可以显著地加快查询和数据检索的速度。索引是MySQL数据库系统中的一种结构,它作为一种快速查找方式,可用于加快数据库中表的查询速度。在查询数据时,MySQL能够利用...

SQL中创建索引的"索引"是什么意思啊?
索引在SQL中是用来提高数据检索效率的工具。它就像是书的目录,帮助我们在成千上万条记录中迅速找到想要的数据。在MySQL中,索引以B-树的形式存储,使得查找速度极快。如果没有索引,数据库在执行查询时会从数据表的第一条记录开始,逐一扫描直至找到符合要求的记录。当表中的记录数量庞大时,这种操作的...

MySQL索引概念详解
索引是存储引擎用来提高数据查询效率的一种数据结构,它在数据库中起到类似图书馆目录导航的作用,帮助快速定位所需数据。在MySQL数据库中,索引能够通过快速查找来减少磁盘I\/O操作次数,提高数据查询效率。通过创建唯一索引,可以保证表中每行数据记录的唯一性,同时在使用分组和排序子句进行数据查询时,可以...

相似回答