美文网首页
数据库索引

数据库索引

作者: 宇宙之一粟 | 来源:发表于2020-09-30 22:31 被阅读0次

1. 为什么要使用使用索引?

最简单的方式--全表扫描,普遍认为很慢。索引类似于字典,通过索引快速查询数据。

2. 什么样的信息能成为索引?

主键、唯一键以及普通键等。

3. 索引的数据结构?

  • 生成索引,建立二叉查找树进行二分查找
  • 生成索引,建立B树结构进行查找
  • 生成索引,建立B+树结构进行查找
  • 生成索引,建立Hash结构进行查找

优化你的索引结构

  1. 二叉查找树上阵

二分查找 O(logn)

缺点是退化成链表:O(n)

  1. B 树

从图中可以看出,节点信息包括:关键字和指向孩子的指针

  • 根节点至少包括两个孩子

  • 树中每个节点最多含有m个孩子(m>=2)

  • 除根节点和叶节点外,其他每个节点至少有ceil(m/2)个孩子

  • 所有叶子节点都位于同一层

设计这样的原因:尽可能少IO操作

  1. B+ 树

B+树更适合用来做存储索引:

  • B+树的磁盘读写代价更低
  • B+树的查询效率更加稳定
  • B +树更有利于对数据库的扫描
  • 适合范围查询

Hash索引也可以考虑一下

  • 遇到大量Hash值相等的情况后性能并不一定就会比B-Tree索引高

BitMap索引是个神器

Oracle使用,锁粒度非常大,不适合高并发系统

4. 密集索引和稀疏索引的区别

  • 密集索引文件中的每个搜索码值都对应一个索引值
  • 稀疏索引文件只为索引码的某些值建立索引项
.frm
.ibd

.frm
.MYI
.MYD

1. 如何定位慢查询?

具体场景具体分析,只提出大致思路:

  • 根据慢日志定位慢查询sql
  • 使用explain等工具分析sql
  • 修改sql或者尽量让sql走索引
SHOW variables like '%quer%';

slow_query_log

slow_query_log_file

long_query_time

SHOW STATUS like '%slow_queries%'; # 查询慢查询次数
SET GLOBAL slow_query_log = on;
SET GLOBAL long_query_time = 1;

SELECT count(id) from person_info_large;

SELECT name from person_info_large order by name desc;

Explain关键字

Explain SELECT name from person_info_large order by name desc;

extra

相关文章

  • 数据库索引记录

    本文用来记录数据库索引相关内容; 1】数据库索引分为单列索引,组合索引,全文索引,空间索引 2】单列索引:只有一个...

  • 索引,序列,视图

    1、数据库索引索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果...

  • Sql索引优化—转载

    数据库索引使用方式 使用索引是提高数据库查询效率的主要方式,下面从索引结构,索引类型,索引操作,命中索引几个方面来...

  • 数据库 - 索引

    索引 索引 索引的建立对于数据库的高效运行是很重要的。索引可以大大提高数据库的检索速度。 索引分单列索引,组合索引...

  • [Mysql]Mysql索引实现原理及相关优化策略

    数据库索引 数据库索引是什么? A database index is a data structure that...

  • 数据库索引定义和类型

    数据库索引类型及实现方式 1、索引定义 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引是对数据库表...

  • 数据库索引结构总结

    [TOC] 参考 数据库索引数据结构总结 本文摘抄自数据库索引数据结构总结 1. 摘要 数据库索引是数据库中最重要...

  • MySQL 索引

    MySQL 索引 数据库索引的原理:数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表...

  • 『数据库』索引的工作原理

    数据库索引能够提高数据库的查询效率,那么索引到底是什么。 什么是索引 索引本身这个名字已经能回答这个问题了,索引就...

  • PostgreSQL基础知识--索引

    索引是增强数据库性能的常用方法。索引使得数据库在查找和检索数据库的特定行的时候比没有索引快得多。但索引页增加了整个...

网友评论

      本文标题:数据库索引

      本文链接:https://www.haomeiwen.com/subject/sqipuktx.html