广告
返回顶部
首页 > 资讯 > 数据库 >MySQL索引总结(Index Type)
  • 107
分享到

MySQL索引总结(Index Type)

MySQL Index TypeMySQL索引 2023-02-05 15:02:25 107人浏览 薄情痞子
摘要

目录Mysql Index1.创建和删除索引2. 索引类型mysql Index 索引是一种数据结构,可以是B-tree、R-tree、或者hash结构。其中,B-tree适用于查找

mysql Index

索引是一种数据结构,可以是B-tree、R-tree、或者hash结构。其中,B-tree适用于查找某范围内的数据,可以快速地从当前数据找到吓一跳数据;R-tree常用于查询比较接近的数据;hash结构适用于随机访问场景,查找每条数据时间几乎一致。

优化查询的有效方法是为经常查询的字段建立索引,如无索引查询数据时,会遍历整张表;若建立索引后查找起来会更快速。当进行update、delete、insert操作时,mysql会自动更新索引信息。

1.创建和删除索引

mysql> create index idx_name on tab_name ( col_name );

mysql> alter table tab_name ADD index idx_name ( col_name );

使用create index 需要制定索引名,而用alter table创建时,可以不指定索引名,mysql会自动生成索引名。
若不想用存储引擎默认索引类型,可以指定索引类型:

mysql> alter table tab_name ADD index idx_name ( col_name ) using btree;

2. 索引类型

Btree 适合连续读取数据

  • Rtree 适合根据一条数据 找附近的数据
  • Hash 适合随机读取数据
  • FullText 全文索引,建立倒排索引,适用于判断字段是否包含问题,例如 like“%ss%”
  • Spatial 空间索引,是对空间数据类型的字段建立的索引

索引有如下几种情况:

  • index索引:通常意义的索引
  • unique索引:唯一索引,保证了列不包含重复的值,对于多列唯一索引,它保证值的组合不重复。
  • primary key索引:unique索引的一种,一个表只能有一个primary key

MySQL提供多种索引供选择:

普通索引
最基本的索引类型,没有唯一性限制,通过以下方式创建:
创建索引:create index idx_name on tab_name (col_name);
修改表:Alter table tab_name add index idx_name (col_name);

唯一性索引
与普通索引的区别:索引列的所有值都只能出现一次,即必须唯一。唯一性索引通过以下方式创建:
创建索引 create unique index idx_name on tab_name (col_name);

主键
一种唯一性索引,一个表只有一个。
一般在创建表的时候指定:create table tab_name(…, primary key (col_name));

外键
一般Alter table构建

全文索引
可以在varchar或者text类型列上创建。
通过alter table 或 create index命令创建全文索引要比记录插入带有全文索引的空表更快。

单列索引/多列索引
索引可以是单列索引,也可以是多列索引。为提高搜索效率,需要考虑使用多列索引。
Alter table tab_name add index idx_name (col_name1, col_name2, col_name3);
由于索引文件以B树格式保存。MySQL可以立即找到合适的col_name1, 然后再转到合适的col_name2, 最后转到合适的col_name3。在没有扫描数据文件任何一个记录的情况下,MySQL可以正确地找出了搜索的目标记录。

最左前缀
多列索引在满足最左前缀时会被使用:col_name1, col_name2, col_name3;col_name1, col_name2;col_name1。

到此这篇关于MySQL索引总结(Index Type)的文章就介绍到这了,更多相关MySQL Index Type内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL索引总结(Index Type)

本文链接: https://www.lsjlt.com/news/194243.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL索引总结(Index Type)
    目录mysql Index1.创建和删除索引2. 索引类型MySQL Index 索引是一种数据结构,可以是B-tree、R-tree、或者hash结构。其中,B-tree适用于查找某范围内的数据,可以快速地从当前数据找...
    99+
    2023-02-05
    MySQL Index Type MySQL索引
  • MySQL索引总结(Index Type)
    目录MySQL Index1.创建和删除索引2. 索引类型MySQL Index 索引是一种数据结构,可以是B-tree、R-tree、或者hash结构。其中,B-tree适用于查找...
    99+
    2023-02-05
    MySQL Index Type MySQL索引
  • mysql索引总结
    我们再来分析一下具体的语句在引擎层的执行步骤,CRUD的操作都跟索引相关,我们先了解一下索引 索引 索引的出现其实就是为了提高数据查询的效率,就像书的目录 数据结构 常见的数据结构有 哈希表、有序数组和搜索树 哈希表是一种以键 - 值(ke...
    99+
    2017-03-17
    mysql索引总结
  • MySQL的复合索引总结
    目录1.背景2.认识复合索引3.最左匹配原则4.字段顺序的影响5.单字段是否可以触发索引?7.复合索引可以替代单一索引吗?1.背景 最近频繁出现慢SQL导致系统性能...
    99+
    2022-11-12
  • oracle索引总结
    目录一、简介二、索引原理三、索引使用(创建、修改、删除、查看)1.创建索引语法2.修改索引3.重建索引3.删除索引4.查看索引四、索引分类1. B树索引2. 位图索引3.单列索引和复...
    99+
    2022-11-12
  • Python:索引总结
    Python包含6种内建序列: 列表 元组 字符串 Unicode字符串 buffer对象 xrange对象 索引 #字符串可以直接使用索引,不需要专门的变量引用 >>> 'Hello World!'[0]...
    99+
    2023-01-31
    索引 Python
  • 【mysql】索引相关的个人总结
    重点参考: MySQL索引原理及慢查询优化 (美团技术分享网站):原理、示例优化都写的很好。 索引很难么?带你从头到尾捋一遍MySQL索引结构,不信你学不会!:原理写的很好。 【从入门到入土】令人脱发的数据库底层设计:很详细...
    99+
    2016-06-26
    【mysql】索引相关的个人总结
  • MySQL(73)MySQL创建索引(CREATE INDEX)
    MySQL创建索引(CREATE INDEX) 创建索引是指在某个表的一列或多列上建立一个索引,可以提高对表的访问速度。创建索引对 MySQL 数据库的高效运行来说是很重要的。 基本语法 MySQL 提供了三种创建索引的方法: 1) 使用 ...
    99+
    2023-09-07
    数据库 sql mysql
  • mysql如何删除index索引
    小编给大家分享一下mysql如何删除index索引,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! m...
    99+
    2022-10-19
  • MySql 存储引擎和索引相关知识总结
    存储引擎 什么是数据库存储引擎? 数据库引擎是数据库底层软件组件,不同的存储引擎提供不同的存储机制,索引技巧,锁定水平等功能,使用不同的数据库引擎,可以获得特定的功能 如何查看引擎? --如何查看数据库支持的引...
    99+
    2022-05-11
    MySql 存储引擎 MySql 索引 MySql 存储引擎和索引
  • python改变索引总结
    #coding:utf8 import pandas as pd import numpy as np data = pd.DataFrame(np.arange(9).reshape(3,3),index=['a','b','c'],...
    99+
    2023-01-31
    索引 python
  • 总结三道MySQL联合索引面试题
    目录前言: 众所周知mysql联合索引遵循最左前缀匹配原则,在少数情况下也会不遵循(有兴趣,可以翻一下上篇文章) 创建联合索引的时候,建议优先把区分度高的字段放在第一列。 至于怎么统计区分度,可以按照下面这种方式。 创建...
    99+
    2022-08-16
    MySQL联合索引面试题 MySQL联合索引
  • MySQL基础(六)-索引(index)详解
    目录 一、什么是索引? 二、索引的实现原理 三、在MySQL中,主键、unique字段上会自动添加索引。 四、索引的创建与删除 创建索引: 删除索引: 五、查看SQL语句是否使用了索引 六、索引的失效 失效的第一种情况:模糊匹配当中以“%”...
    99+
    2023-09-01
    sql 数据库
  • MySQL中的索引index(超详细)
    概念: 在MySQL中,索引(index)是一种特殊的数据结构,它能够加快数据库中数据的检索速度。索引可以看做是一本书的目录,它提供了一种快速查找数据的方式。 MySQL中的索引是建立在一张表的一列或多列上的,用于加快对表中数据的查找速度...
    99+
    2023-09-02
    mysql 数据库
  • MySQL索引知识的一些小妙招总结
    一、索引基本知识 1.1 索引的优点 大大减少了服务器需要扫描的数据量,加快数据库的检索速度 帮助服务器避免排序和临时表 将随机io变成顺序io 1.2 索引的用处 速查找...
    99+
    2022-05-23
    mysql 索引 mysql索引结构 mysql索引技巧
  • 《MySQL面试小抄》索引考点二面总结
    《MySQL面试小抄》索引考点二面总结 我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!!   本期主要面试考点 面试官考点之谈...
    99+
    2021-10-15
    《MySQL面试小抄》索引考点二面总结
  • MySQL优化中B树索引知识点总结
    为什么要进行SQL优化呢?很显然,当我们去写sql语句时: 1会发现性能低 2.执行时间太长, 3.或等待时间太长 4.sql语句欠佳,以及我们索引失效 5.服务器参数设置不合理 S...
    99+
    2022-10-18
  • MySQL索引优化的性能分析和总结
    本篇内容主要讲解“MySQL索引优化的性能分析和总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL索引优化的性能分析和总结”吧!案例分析我们先简单了解...
    99+
    2022-10-18
  • MySQL SQL优化 - 覆盖索引(covering index)
    CREATE TABLE `user_group` (   `id` int(11) NOT NULL auto_increment,   `uid` int(11) NOT NULL,...
    99+
    2022-10-18
  • MySQL(75)MySQL修改和删除索引(DROP INDEX)
    MySQL修改和删除索引(DROP INDEX) 当不再需要索引时,可以使用 DROP INDEX 语句或 ALTER TABLE 语句来对索引进行删除。 1) 使用 DROP INDEX 语句语法格式: DROP INDEX ON 语...
    99+
    2023-09-24
    数据库 sql mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作