大家好,我是melo,一名大二后台练习生,大年初三,我又来充当反内卷第一人了!!! 专栏引言 MySQL,一个熟悉又陌生的名词,早在学习Javaweb的时候,我们就用到了MySQL数据库,在那个阶段,MySQL对我们来说似乎只是一个存储数据的好东西,存储时一股脑往里边塞,查询时也是盲目的全表查询(不带一点点优化).​ 我们总是自欺欺人的觉得,我们通过其他方面来优化就好了阿,迟迟不愿面对MySQL高级,转而学习一些看似更为"高级"的东西,学Redis,来分担MySQL的压力,学MyCat…
大家好,我是melo,一名大二后台练习生,大年初三,我又来充当反内卷第一人了!!! 专栏引言 MySQL,一个熟悉又陌生的名词,早在学习Javaweb的时候,我们就用到了MySQL数据库,在那个阶段,MySQL对我们来说似乎只是一个存储数据的好东西,存储时一股脑往里边塞,查询时也是盲目的全表查询(不带一点点优化).​ 我们总是自欺欺人的觉得,我们通过其他方面来优化就好了阿,迟迟不愿面对MySQL高级,转而学习一些看似更为"高级"的东西,学Redis,来分担MySQL的压力,学MyCat…
大家好,我是melo,一名大三后台练习生,死去的MVCC突然开始拷打我! 引言 MVCC,非常顺口的一个词,翻译起来却不是特别顺口:多版本并发控制. 其中多版本是指什么呢?一条记录的多个版本. 并发控制?如何实现呢?我们上篇刚讲到了锁机制,而MVCC则是用更好的方式来提高并发性能,避免加锁!具体如何实现,底层原理是什么,这篇将带你攻破ta. 本篇速览脑图 通过「版本链」来控制并发事务访问同一个记录时的行为就叫 MVCC(多版本并发控制). 看完后文,再回过头来看这张图,就会理解了 当前读,快照读…
大家好,我是melo,一名大三后台练习生,最近赶在春招前整理整理发过的博客~! 引言 锁锁锁,到哪到离不开这桩琐事,并发琐事,redis琐事,如今是MySQL琐事,这其中琐事,还跟MySQL另一个重要的东西--事务息息相关.这篇将从以下几点,带你解开这把爱情的苦锁: 本篇速览脑图 常规表锁&行锁 这一部分较为常规,若有前置知识,可以直接跳到下边的[表级锁扩展]部分开始阅读 建议借助侧边栏,有emoji表情的属于重点 锁概述 锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢). 在数据…
大家好,我是melo,一名大三后台练习生 专栏回顾 索引的原理&&设计原则 欢迎关注本专栏:MySQL高级篇 本篇速览 在我们上一篇文章中,讲到了索引的原理&&设计原则,知道了索引如何使用. emm?那具体什么场景需要用到索引,我们要怎么分析SQL语句,并对其进行优化呢,这篇将从以下几点带你攻破ta: 详解explain分析SQL 索引失效的几个场景 ...... SQL优化的几个场景 大批量插入 order by group by limit分页 insert操作 嵌套查…
mysql进阶(二十七)数据库索引原理 前言   本文主要是阐述MySQL索引机制,主要是说明存储引擎Innodb.   第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础.   第二部分结合MySQL数据库中InnoDB数据存储引擎中索引的架构实现讨论聚集索引.非聚集索引及覆盖索引等话题.   第三部分讨论MySQL中高性能使用索引的策略. 一.数据结构及算法理论   Innodb存储引擎实现索引的数据结构是B+树,下面介绍几种数据结构,一步步阐述为什么要使用B+树. 1.…
这是mongo第三篇"查终结篇",后续会连续更新5篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟着我一起来探索交流. 通过上两篇基的介绍,我相信大家对我有了初步的认识,简单查询得心用手,其实在数据工作中查询中还远远不够,今天我们在来总结查询的其它常用操作.声明,小编也是边学变总结,如果有总结的不到位的地方,希望您多多指点.​ 01     简述 通过上一篇文档,我们一起总结了mongodb查找的使用和常见的查询条件标识符.本文…
这是mongo第二篇「查询基础篇」,后续会连续更新6篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟着我一起来探索交流. 通过上一篇基础篇的介绍,我相信大家对我有了初步的认识,并且能够简单的使用我了,在使用过程中我相信大家用的最多的还是查询吧,今天我就和大家一起来总结查询基础哪一些事吧.如果有总结的不到位的地方,希望您多多指点. 01:查询简介 查询mongdodb提供了两个方法:find()和findOne(),前者是查询符合要求的所有…
SQL语句优化 1 企业SQL优化思路 1.把一个大的不使用索引的SQL语句按照功能进行拆分 2.长的SQL语句无法使用索引,能不能变成2条短的SQL语句让它分别使用上索引. 3.对SQL语句功能的拆分和修改 4.减少"烂"SQL由运维(DBA)和开发交流(确认),共同确定如何改,最终由DBA执行 5.制定开发流程 2 不适合走索引的场景 1.唯一值少的列上不适合建立索引或者建立索引效率低.例如:性别列 2.小表可以不建立索引,100条记录. 3.对于数据仓库,大量全表扫描的情况,建索…
首先区分几个概念: 聚集索引 主索引和辅助索引(即二级索引) innodb中每个表都有一个聚簇索引(clustered index ),除此之外的表上的每个非聚簇索引都是二级索引,又叫辅助索引(secondary indexes).聚簇索引和非聚簇索引不是一种索引类型而是一种存储方式. 以下转载自:http://blog.codinglabs.org/articles/theory-of-mysql-index.html 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特…