课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的程序员都在学习数据库开发技术,而今天我们就通过案例分析来了解一下,数据库索引的概念与优势。
1、什么是索引
索引(Index),是帮助MySQL高效获取数据的数据结构,是存储引擎用于快速找到记录的一种数据结构。
要理解MySQL中索引是如何工作的,简单的例子就是去看看一本书的目录“索引”部分。如果想在一本书中找到某个章节,一般我们会先看书的目录“索引”,就会立即找到对应的页码。
在MySQL中,存储引擎也是用类似的方法使用索引,先在索引中找到对应的值,然后根据匹配的索引记录找到对应的数据行。
查询是数据库中常用的操作,我们都希望查询的速度尽可能快,因此数据库系统的设计者会从查询算法角度去进行优化。基本的查询算法当然就是顺序查找,但是这种算法的复杂度为O(n),在数据量很大时就会显得非常糟糕。
2、索引类型
索引有很多种类型,可以为不同的场景提供更好的性能。在MySQL中,索引是在存储引擎层实现的,所以,并没有统一的索引标准:不同存储引擎的索引的工作方式也是不一样的,也不是所有的存储引擎都支持所有类型的索引。
3、索引优点
索引可以让MySQL服务器快速地定位到表的指定位置,但这并不是索引的作用,到目前为止可以看到,根据创建索引的数据结构不同,索引也有一些其他的附加作用。
常见的B-Tree索引,按照顺序存储数据,所以MySQL可以用来做ORDERBY和GROUPBY操作。因为数据是有序的,所以B-Tree也就会将相关的列值都存储在一起。后,因为索引中存储了实际的列值,所以某些查询只使用索引就能够完成全部查询。据此特性,总结下来索引有如下优点:
索引大大减少了MySQL服务器需要扫描的数据量。(全表扫描)
索引可以帮助MySQL服务器避免排序和临时表。
索引可以将随机I/O变为顺序I/O。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。