索引
zl1zl2zl3
这个作者很懒,什么都没留下…
展开
-
字节一面,被连问 MySQL 索引,脸都问绿了。。。
什么是索引?当我们使用汉语字典查找某个字时,我们会先通过拼音目录查到那个字所在的页码,然后直接翻到字典的那一页,找到我们要查的字,通过拼音目录查找比我们拿起字典从头一页一页翻找要快的多,数据库索引也一样,索引就像书的目录,通过索引能极大提高数据查询的效率。索引的实现方式在数据库中,常见的索引实现方式有哈希表、有序数组、搜索树 哈希表哈希表是通过键值对(key-value)存储数据的索引实现方式,可以将哈希表想象成是一个数组,将索引通过哈希函数计算得到该行数据在数组中的位置,然后将数据存到数转载 2020-09-03 13:14:30 · 456 阅读 · 0 评论 -
MySQL not exists 真的不走索引么?
在一些业务场景中,会使用NOT EXISTS语句确保返回数据不存在于特定集合,部分同事会发现NOT EXISTS有些场景性能较差,甚至有些网上谣言说”NOT EXISTS不走索引”,哪对于NOT EXISTS语句,我们如何优化呢?以今天优化的SQL为例,优化前SQL为:SELECTcount(1)FROMt_monitormWHERENOTexists(SELECT1FROMt_alarm_realtimeASaWHEREa.resource_i...转载 2020-08-18 11:27:32 · 1791 阅读 · 0 评论 -
老大,我就想加个索引,怎么就这么难?
❝领导让我SQL优化,我直接把服务干挂了...❞前言MySQL大表加字段或者加索引,是有一定风险的。大公司一般有DBA,会帮助开发解决这个痛点,可是DBA是怎么做的呢?小公司没有DBA,作为开发我们的责任就更大了。那么我们怎么才能安全的加个索引呢?今天,我们通过模拟案例以及原理分析,去弄清楚MySQL中DDL的风险,以及如何避免事故发生。准备软件以及项目 安装本地版本MySQL。 一个简单的增删改查项目。 使用JMeter进行并发请求测试。 创建转载 2020-07-29 10:14:59 · 292 阅读 · 0 评论 -
我去,为什么最左前缀原则失效了?
问题最近,在 mysql 测试最左前缀原则,发现了匪夷所思的事情。根据最左前缀原则,本来应该索引失效,走全表扫描的,但是,却发现可以正常走索引。表结构如下( Mysql 版本 5.7.22):CREATETABLE`user`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(32)COLLATEutf8mb4_binDEFAULTNULL,`age`int(11)DEFAULTNULL,`add...转载 2020-07-06 13:42:38 · 559 阅读 · 1 评论 -
图解 MySQL 索引:B-树、B+树,终于搞清楚了!
看了很多关于索引的博客,讲的大同小异。但是始终没有让我明白关于索引的一些概念,如B-Tree索引,Hash索引,唯一索引….或许有很多人和我一样,没搞清楚概念就开始研究B-Tree,B+Tree等结构,导致在面试的时候答非所问!索引是什么?索引是帮助MySQL高效获取数据的数据结构。索引能干什么?提高数据查询的效率。索引:排好序的快速查找数据结构!索引会影响where后面的查找,和order by 后面的排序。一、索引的分类1. 从存储结构上来划分:BTree索引(B-T.转载 2020-05-17 10:43:42 · 387 阅读 · 0 评论 -
一本彻底搞懂MySQL索引优化EXPLAIN百科全书
MySQL逻辑架构介绍日常在CURD的过程中,都避免不了跟数据库打交道,大多数业务都离不开数据库表的设计和SQL的编写,那如何让你编写的SQL语句性能更优呢?先来整体看下MySQL逻辑架构图:MySQL整体逻辑架构图可以分为Server和存储引擎层。Server层:Server层涵盖了MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),以及...转载 2020-04-07 20:28:51 · 287 阅读 · 0 评论 -
单列索引和联合索引,有什么区别?
作者:深寒丶来源:blog.csdn.net/abysscarry/article/details/80792876背景:为了提高数据库效率,建索引是家常便饭;那么当查询条件为 2 个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下。一、联合索引测试注:Mysql 版本为 5.7.20创建测试表(表记录...转载 2020-02-14 11:58:48 · 1472 阅读 · 0 评论 -
聊聊 MySql 索引那些事儿
来源:my.oschina.net/luozhou/blog/3030583概述上一篇文章《一条SQL语句在MySQL中是如何执行的》我们聊到了sql语句内部的执行,包括InnoDB引擎是如何支持事务的,如何做到可以备份恢复的,那么今天我们来聊一聊MySql索引的那些事,在这篇文章中,我会主要聊聊InnoDB下索引的数据结构,索引如何起作用的,如何更好的利用索引提高效率。一、什...转载 2019-04-12 14:10:59 · 252 阅读 · 0 评论 -
mysql explain执行计划详解
1)id列SELECT识别符。这是SELECT查询序列号。这个不重要,查询序号即为sql语句执行的顺序2)select_type列常见的有:A:simple:表示不需要union操作或者不包含子查询的简单select查询。有连接查询时,外层的查询为simple,且只有一个B:primary:一个需要union操作或者含有子查询的select,位于最外层的单位查询的se...转载 2018-09-14 16:55:00 · 237 阅读 · 0 评论 -
Mysql的常见面试题 + 索引原理分析
今天给大家分享一篇干货,面试必备之Mysql索引底层原理分析 Mysql索引的本质 Mysql索引的底层原理 Mysql索引的实战经验 面试问:数据库中最常见的慢查询优化方式是什么?同学A:加索引。问:为什么加索引能优化慢查询?同学A:...不知道同学B:因为索引其实就是一种优化查询的数据结构,比如Mysql中的索引是用B+树实现的,而B...转载 2019-03-07 21:31:00 · 21653 阅读 · 7 评论