当前位置: 首页 > news >正文

人大金仓数据库索引的应用与日常运维

索引的应用

一、常见索引及适应场景

BTREE索引

是KES默认索引,采用B+树实现。

适用场景

范围查询和优化排序操作。

不支持特别长的字段。

HASH索引

先对索引列计算一个散列值(类似md5、sha1、crc32),然后对这个散列值以顺序(默认升序)排序,同时记录该散列值对应数据表中某行的指针。

适用场景

适用宽字段场景与等值搜索。

特点

 

GIST索引

分层组织的空间索引

应用场景

位置搜索(包含、相交、在上下左右等)

按距离排序

GIN索引

是倒排索引(类似B+TREE,值+行号),将数组/全文检索类型中的值存储到树形结构中,

对于高频值,减少树的深度,行号会存储在另外的页中。

适用场景

适用于包含多个组合值的查询,如数组、全文检索等。

BEIN索引

  1. BRIN/Block Range INdex是块级索引,它不是一个精确的索引。
    1. 在索引中存储一定范围的表数据块中某个列的最小和最大值及摘要信息。
    2. 仅能过滤到连续的数据块级别,需要对块内的数据再次作比较。
    3. 未将ORDER BY 字段的值按顺序存储到索引中。
  2. BRIN索引与BTREE索引区别
    1. BRIN的思路是避免扫描不合适的行,而不是快速找到匹配的行。
    2. 当查询语句中包含该列的过滤条件时,就会自动忽略那些肯定不包含符合条件的列值的数据块,从而减少IO读取量,提升查询速度。

特点

空间占用小,对数据写入、更新、删除的影响也很小。

适用场景

适用于存储流式的数据日志,例如时序数据进行等值、范围查询时效果很棒。

二、索引的使用技巧

1、表达式索引

(1)KES允许对字段进行某种运算之后的结果创建索引

(2)索引列可以是底层表中的原始列

2、部分索引

 

 

  1. 复合索引(基于表的多列上创建的索引)


 

日常运维

  • 数据库瘦身步骤
    1. 大表瘦身

 

找出大表

 

    1. 清理不必要的索引

 

3.定位慢查询

4.处理长事务

5.垃圾回收

http://www.lryc.cn/news/3881.html

相关文章:

  • 20230211英语学习
  • 5G图书推荐
  • 【Linux下代码调试工具】gdb 的基本使用
  • UART和RS232、RS485的联系和区别、以及对软件编程的影响
  • ajax是什么?咋实现的
  • AI推理计算框架中的内存优化
  • C语言学习小结(1)——初认识C语言
  • 30分钟吃掉wandb可视化自动调参
  • 【8】AMBA_SOC项目自学IC验证项目-仿真平台脚本使用讲解
  • 智慧水务未来技术发展方向预测探讨
  • 数据结构 | 栈与队列
  • Redux 源码分析
  • 第五十二章 BFS进阶(二)——双向广搜
  • 业务建模题
  • 电子秤专用模拟数字(AD)转换器芯片HX711介绍
  • 微服务 RocketMQ-延时消息 消息过滤 管控台搜索问题
  • js发送邮件(node.js)
  • English Learning - Day58 一周高频问题汇总 2023.2.12 周日
  • 【微电网】基于风光储能和需求响应的微电网日前经济调度(Python代码实现)
  • 四种方式的MySQL安装
  • 软考高级信息系统项目管理师系列之九:项目范围管理
  • 【项目精选】javaEE健康管理系统(论文+开题报告+答辩PPT+源代码+数据库+讲解视频)
  • ctfshow nodejs
  • 无线传感器原理及方法|重点理论知识|2021年19级|期末考试
  • 带你写出符合 Promise/A+ 规范 Promise 的源码
  • 回流与重绘
  • openpyxl表格的简单实用
  • 【寒假day4】leetcode刷题
  • 【竞赛题】6355. 统计公平数对的数目
  • Redis集群搭建(主从、哨兵、分片)