当前位置:网站首页>7.15 Day21---MySQL----Index
7.15 Day21---MySQL----Index
2022-08-04 05:35:00 【Which cookie are you?】
目录
Syntax for creating and dropping indexes:
NYSQLHow the index is designed:
索引:
索引的优缺点:
时间上
Indexes can greatly improve the speed of queries
At the expense of the speed of additions, deletions and changes,Because in order to ensure the orderliness of the index when adding, deleting and modifying,需要动态维护索引
空间方面:索引需要占物理空间.
索引的分类
主键索引:关键字primary key
唯一索引:关键字 unique
普通索引(非唯一):关键字 index
全文索引:关键字 fulltext
聚簇索引=主键索引=一级索引
非聚簇索引=(唯一索引,普通索引)=二级索引

Frm文件:表结构文件
Ibd文件:表数据文件
Create drop alter-操作frm文件
Insert update delete -操作ibd文件

Only the primary key index is called a clustered index,A non-primary key index is called a non-clustered index
Innodb不支持全文索引
创建删除索引的语法
Clustered indexes are native to the table,We create non-clustered indexes ourselves,如果表没有主键.Then he will select the hidden column by defaultrowid 来创建聚簇索引
Syntax for creating and dropping indexes:
(聚簇索引=The primary key index comes with the table,We create non-clustered indexes ourselves)
(如果表没有主键,Then the hidden column will be selectedrowid来创建聚簇索引)
创建
1.在create table建表的时候添加索引
2.在create tableAfter the table is created successfully,使用alter语句添加索引
ALTER TABLE 表名 ADD INDEX 索引名(字段名);
3.在create tableAfter the table is created successfully,使用create index语句添加索引
CREATE INDEX 索引名 ON 表名(字段名);
删除
1.使用alter语句删除索引
ALTER TABLE 表名 DROR INDEX 索引名;
2.使用drop语句删除索引
ORDR INDEX 索引名 ON 表名;
索引的数据结构:
MYSQLThe index supports two data structures
1.B+TREE B+树结构的索引(支持范围查询)
2.HASH The index of the hash structure(不支持范围查询)
Evolution of data structures:
二叉树:
问题:Unable to balance itself



平衡二叉树-AVL树:
Left-handed algorithm:When the depth of the right leaf node-The depth of the left leaf node>1的时候,触发左旋
右旋算法:When the depth of the left leaf node-The depth of the right leaf node>1的时候,触发右旋
目的:Maintain the balance of the tree
多路平衡二叉树-B树:
树的度数:The number of elements that can be stored in each node
One-way tree:度数=1
多路树:度数=n,n>1
data of the same size,One-way trees aretall skinny tree,Multiway trees areChunky tree
The advantage of multi-way trees over single-way trees is that更少的磁盘IO就可以找到数据

NYSQLHow the index is designed:
Each node of the tree is a disk block,MYSQL将表的ibdThe file is split into many disk blocks,The size of each disk block is uniform16KB,每次磁盘IORead a disk block of data,A disk block of data is also called a page of data
B+树和B-树的区别:
1个节点=1个磁盘块=16KB
假设一行数据data是200字节,主键id是8个字节,B树,A disk block is approximately stored8行数据,B+树,A disk block can probably be stored1000个主键id
B+树:
1.The bottommost leaf nodes form a singly linked list
2.Some elements are redundant
3.Only the bottommost leaf nodes store data,All nodes in the upper layer only store the primary keyid
B-树:
行数据dataStored with the primary key
走索引:二分查找
不走索引:全部扫描
说说索引:

边栏推荐
- 触觉智能分享-SSD20X实现升级显示进度条
- MySQL database (basic)
- 离线采集怎么看sql执行计划
- The idea setting recognizes the .sql file type and other file types
- C Expert Programming Chapter 5 Thinking about Chaining 5.6 Take it easy --- see who's talking: take the Turning quiz
- Tactile intelligent sharing - SSD20X realizes upgrade display progress bar
- 4.2 Declarative Transaction Concept
- [Cloud Native--Kubernetes] Pod Resource Management and Probe Detection
- Uni-app 小程序 App 的广告变现之路:全屏视频广告
- npm安装依赖报错npm ERR! code ENOTFOUNDnpm ERR! syscall getaddrinfonpm ERR! errno ENOTFOUND
猜你喜欢

4.3 基于注解的声明式事务和基于XML的声明式事务

企业需要知道的5个 IAM 最佳实践

擎朗智能全国研发创新中心落地光谷:去年曾获2亿美元融资

MySQL log articles, binlog log of MySQL log, detailed explanation of binlog log

MySQL日志篇,MySQL日志之binlog日志,binlog日志详解

你以为border-radius只是圆角吗?【各种角度】

7.16 Day22---MYSQL(Dao模式封装JDBC)

Unity Visual Effect Graph入门与实践

编程大杂烩(四)

在被面试官说了无数次后,终于潜下心来整理了一下JVM的类加载器
随机推荐
Cannot read properties of null (reading ‘insertBefore‘)
The Road to Ad Monetization for Uni-app Mini Program Apps: Full Screen Video Ads
8款最佳实践,保护你的 IaC 安全!
7.16 Day22---MYSQL(Dao模式封装JDBC)
入坑软件测试的经验与建议
7.13 Day20----MYSQL
注意!软件供应链安全挑战持续升级
力扣题解8/3
4.1 声明式事务之JdbcTemplate
TensorRT例程解读之语义分割demo
想好了吗?
自动化测试的成本高效果差,那么自动化测试的意义在哪呢?
力扣:63. 不同路径 II
C Expert Programming Chapter 4 The Shocking Fact: Arrays and pointers are not the same 4.4 Matching declarations to definitions
[Cloud Native--Kubernetes] Pod Resource Management and Probe Detection
OpenCV获取和设置图像的平均亮度
4.1 JdbcTemplate for declarative transactions
Interesting Kotlin 0x0E: DeepRecursiveFunction
Web Basics and Exercises for C1 Certification - My Study Notes
CentOS7 —— yum安装mysql