zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

索引的使用

2023-03-07 09:15:34 时间

在5年之后在祺源做Java开发的时候才有使用索引的感觉。索引在面试中是十分频繁地被问到。索引分为聚簇索引和非聚簇索引。从古至今,人类都是从文盲到文明的演变过程。书籍的使用,文字的发明和记载信息。当文字量一大,翻阅查找起来就越困难。把相似的东西放在一起,使用标签标记存放,找起来更快。

索引和ID的概念是一致的。纸质书籍分章节,每个章节有小标题,把小标题和那一页的页码都抽取出来成为一个小册子,就是每一本书的前置小目录。

在计算机的抽象概念中索引集合和目录是相似,但是有很多不同的地方。Hashmap有hash索引表,数据库有数据库索引表,全文检索有全文索引表。索引管理是索引字段的管理,索引字段是由关键字和索引号组成的一个对象。面试中有很多面试官都问到索引失效是怎么回事。数据库表里的数据量一大的情况下,全表扫描是需要时间。一般的计算机处理数据的速度并没有用户想象的那么快。用户能忍受的最长用户体验时间是2秒,没有两秒的用户响应时间故意使用遮罩等待两秒的用户体验也是有。

聚簇索引是索引表的索引排序和物理表的物理排序逻辑一致,非聚簇索引的索引表排序和物理表的物理排序逻辑不一致。概念区别在这里,主键索引,就是即是唯一性索引也有很多的主键分配策略。

开发数据库软件的时候就有对数据库表的索引进行构建。数据量一大的时候,不使用索引是不可能实现特定数据的高效检索。计算机内存的管理,在Java中使用的是堆heap,即在运行内存中使用管理数据的存放和状态的改变,选择相应的数据进行持久化存储,对无用的内存进行释放和调优。堆表其实就是索引表,堆块是正真存储数据的随机存储区域。数据库开发软件也是应用工具,管理的是持久化的数据,也会有索引表的存在。Java中的数据结构hashmap 使用哈希索引对数据进行索引查询。索引为什么会更快,索引是使用整型int 进行存储,体积相对较小,使用相应的搜索算法进行优化计算之后,查询性能会有相应的提高。

看书的时候通常的习惯是不会看书籍的分类目录,但是计算机不一样。处理慢查询是一项很重要的开发任务,现在是互联网社会,数据流量都很大。软件公司是科技公司,在现在的情况之下,正真要实现盈利的数据量一般都是以 million 级别进行衡量。

数据库索引的使用在组长级别之类,性能的优化和调优是架构师的任务。作为开发工程师,只是接触过数据库表的索引,索引字段的管理,要有概念。