MySQL

MySQL使用表锁和行锁的场景详解

前言 MySQL Innodb 的锁可以说是执行引擎的并发基础了,有了锁才能保证数据的一致性。众所周知,我们都知道 Innodb 有全局锁、表级锁、行级锁三种,但你知道什么时候会用表锁,什么时候会用行锁吗? 虽然对 MySQL 的知识点挺熟悉的,但一开始看...

MySql统计函数COUNT的具体使用详解

1. COUNT()函数概述 COUNT() 是一个聚合函数,返回指定匹配条件的行数。开发中常用来统计表中数据,全部数据,不为NULL数据,或者去重数据。 2. COUNT()参数说明 COUNT(1):统计不为NULL 的记录。COUNT(*):统计所有...

MySQL实现分布式锁

基于MySQL分布式锁实现原理及代码 工欲善其事必先利其器,在基于MySQL实现分布式锁之前,我们要先了解一点MySQL锁自身的相关内容 MySQL锁 我们知道:锁是计算机协调多个进程或者线程并发访问同一资源的机制,而在数据库中,除了传统的机器资源的争用之...

mysql如何删除数据表和关联的数据表删除详情

前言 删除数据表的时候,表的定义和表中所有的数据均会被删除。因此,在进行删除操作前,最好对表中的数据做一个备份,以免造成无法挽回的后果。 mysql删除数据表分为两种情况; mysql删除没有关联的表; mysql删除被关联的表; 下面我们就分别来看一下这...

SQL Optimizer 详细解析

一、 大数据体系和SQL 1、SQL的处理流程 1.1 Parser String -> AST (Abstruct Syntax Tree): 词法分析:拆分字符串,得到关键词、数值常量、字符串常量、运算符号等token 语法分析:将to...

MySQL中MVCC机制的实现原理

前言 MVCC全称为Multi Version Concurrency Control,直译为多版本并发控制,是MySQL中一种并发控制的方法,他主要是为了提高数据库的读写性能,用更好的方式去处理读写冲突。 什么是当前读和快照读? 在讲述MVCC机制实现原...

面试官问我Mysql的存储引擎了解多少

文章部分来源于黑马Mysql视频教程当中! 一、MySQL体系结构 如下图,Mysql总共分为了四层: 连接层: 最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限。...

MySQL查询进阶操作从函数到表连接的使用

前言 书接上文,今天学习查询的进阶操作,包括函数、分组、分页、子查询和表连接。内容比较实用,建议收藏或者订阅专栏方便学习和复习。 一、MySQL函数的使用 mysql中内置了很多函数,每个函数都代表一个特定功能 1、单行函数 特点:每行数据都会产生一个对应...

MySQL B-tree与B+tree索引数据结构剖析

一、产生的背景 二叉查找树的查找时间复杂度是O(logN),整体的查询效率已经足够高了,那么为什么还会有B树和B+树的进化演进呢? 主要的原因是:二叉树可能会退化成一个线性树,造成磁盘IO次数增高的问题,当有大量的数据存储的时候,二叉查找树查询不能将所有的...

MySQL中的用户创建与权限管理

一、用户管理 在mysql库里有个user表可以查看已经创建的用户 1.创建MySQL用户 注意:MySQL中不能单纯通过用户名来说明用户,必须要加上主机。如hhy@10.1.1.1 基本语法: mysql> create user ‘用...

SQL如何使用正则表达式对数据进行过滤

1、基本字符匹配 数据库使用正则进行过滤,写法与like语句非常相似,只需将“like"关键字改为"regexp"即可。我们先来看一个最简单的正则匹配: select * from mostimes where n...