MySQL

MySQL表级锁使用说明

表级锁 该锁会锁定整张表,它是MySQL中最基本的锁策略,并不依赖于存储引擎(不管你是MySQL的什么存储引擎,对于表锁的策略都是一样的),并且表锁是开销最小的策略(因为粒度比较大)。由于表级锁一次会将整个表锁定,所以可以很好的避免死锁问题。当然,锁的粒度...

MySql恢复数据方法梳理讲解

一、前言 mysql具有binlog功能,可以记录对表进行过的操作、执行过的sql语句; 以下主要是总结下binlog的开启方法、使用方法等; 如果误删数据库表中的某些数据、或者误删整个表、误修改表结构等,就可以使用这个方法进行恢复。 二、步骤 1.如果想...

MySQL索引介绍及优化方式

一、导致sql执行慢的原因 硬件条件限制: io吞吐量小,形成瓶颈(读取磁盘数据) 网络传输速度慢 内存不足(读取磁盘数据加载到内存) 程序设计方面: 没有索引或未使用到索引表数据量过大(可采用分批查询,减少单次查询数据量)返回不必要的行/列锁/死锁(例如...

MySQL中find_in_set()函数用法示例详解

1、 find_in_set()官方涵义(MySQL手册中语法说明) FIND_IN_SET(str,strlist),该函数的作用是查询字段(strlist) 中是否包含(str)的结果,返回结果为 null或记录 。 str 要查询的字符串strlis...

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...