首页 > 其他分享 >索引的使用

索引的使用

时间:2024-08-24 09:37:15浏览次数:8  
标签:数据库 索引 数据量 使用 排序 数据

 

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

 

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

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

 

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

 

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

 

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

 

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

标签:数据库,索引,数据量,使用,排序,数据
From: https://www.cnblogs.com/liaowanzhong/p/18377400

相关文章

  • PHP与MySQL数据库是如何结合使用的?
    PHP与MySQL数据库的结合使用主要通过PHP脚本与MySQL数据库进行交互,实现数据的存储、查询、更新和删除等操作。以下是结合使用的详细步骤和方法:1:准备工作:确保PHP和MySQL环境可用。创建MySQL数据库和表,以存储数据。2:连接数据库:使用mysqli连接MySQL数据库,代码示例为:$mys......
  • 向量数据库Faiss的搭建与使用|Faiss|向量数据库|高效检索|机器学习|大规模数据
    目录1.Faiss概述1.1Faiss的背景与重要性1.2Faiss的基本概念与特点2.Faiss的安装与环境配置2.1环境要求2.2Faiss的安装2.3验证安装3.Faiss的基本使用3.1创建索引与添加向量3.2执行查询3.3向量的压缩与内存优化4.Faiss的高级功能与优化4.1GPU加速与多G......
  • 049、Vue3+TypeScript基础,页面通讯之使用mitt在任意组件中通讯
    01、main.js代码如下://引入createApp用于创建Vue实例import{createApp}from'vue'//引入App.vue根组件importAppfrom'./App.vue'//引入emitter用于全局事件总线importemitterfrom'@/utils/emitter'constapp=createApp(App);//App.vue的根元素id为app......
  • 粘包现象 | wireshark抓包的使用
    在TCP协议的通信过程中,由于其面向流的特性,数据在传输过程中可能会发生粘包现象,即多个发送的数据包被接收方一次性接收,导致应用层无法正确解析数据。1.粘包现象概述TCP协议为了保证传输效率,可能会将多次send调用发送的数据合并在一个TCP报文中发送出去。这样,接收方在读取时就......
  • 一门多范式的编程语言Scala学习收尾-函数的使用
    4、集合(接着上次的集合继续学习)4.4可变集合1、ListBuffervallistBuffer1:ListBuffer[Int]=newListBuffer[Int]println(s"$listBuffer1")listBuffer1.+=(11)listBuffer1.+=(22)listBuffer1.+=(33)listBuffer1.+=(11)listBuffer1.+=(55)listBuffer1.+=(22)listBuffe......
  • 获取成员变量并赋值使用
    packagecom.shujia.day21;importjava.lang.reflect.Constructor;importjava.lang.reflect.Field;/*反射获取成员变量并赋值使用获取所有成员通过类的字节码文件对象获取 getFields只能获取公共的成员变量 getDeclaredFields获取私有的......
  • 编程达人Windows核心编程 第18章 演示如何使用堆
    18_Heap.cpp演示如何使用堆18_Heap.cpp演示如何使用堆文章目录18_Heap.cpp/*------------------------------------------------------------------------18_Heap.cpp演示如何使用堆----------------------------------------------------------------------......
  • Go 小知识之 Go 中如何使用 set
    Go的数据结构Go内置的数据结构并不多。工作中,我们最常用的两种数据结构分别是slice和map,即切片和映射。其实,Go中也有数组,切片的底层就是数组,只不过因为切片的存在,我们平时很少使用它。除了Go内置的数据结构,还有一些数据结构是由Go的官方container包提供,如he......
  • 如何正确使用搜索引擎(屏蔽csdn)
    浏览器星愿浏览器我使用的是星愿浏览器,推荐使用,其中有个性化的设置和搜索引擎的优化辅助,搜索引擎我选择的有:百度必应谷歌DuckDuckGo检索过程中想要快速切换各种搜索引擎,星愿浏览器有提供辅助拓展插件这里主要推荐每氪净化,可以自动添加屏蔽,例如CSDN搜索后结果是......
  • C++ 使用 using 声明语句放开基类的重载函数
    #include<functional>#include<string>#include<iostream>#include<vector>#include<memory>#include<set>#include<map>usingnamespacestd;namespace{classAnimal{public:stringGe......