mysql
文章平均质量分 94
coder~
菜鸟一只
展开
-
mysql-事务嵌套之savepoint
背景最近业务开发中有发现公司自研框架会发生事务嵌套问题导致事务开启异常的一些问题,搜索发现laravel是通过savepoint 实现的嵌套处理,特此做记录。mysql支持事务嵌套吗不支持。官方文档有说明因为每次开启事务都会隐式的执行commit验证 START TRANSACTION 会隐式提交语句start transaction 后自动提交已开启的事务 ,如图。 解析:(当前事务隔离级别 可重复读) 1. 清空老表数据 t1 2. set autocommit=0; 关闭自原创 2021-11-17 16:01:53 · 2189 阅读 · 0 评论 -
insert select 主键ID 不连续的问题
晚上完成insert select语句对于自增列会预分配 如果不够就原创 2020-07-08 17:59:49 · 1163 阅读 · 0 评论 -
SQL运行内幕:从执行原理看调优的本质
SQL运行内幕:从执行原理看调优的本质发表于2020-06-26|更新于2020-06-28|分类于MySQL相信大家看过无数的MySQL调优经验贴了,会告诉你各种调优手段,如:避免 select *; join字段走索引; 慎用in和not in,用exists取代in; 避免在where子句中对字段进行函数操作; 尽量避免更新聚集索引; group by如果不需要排序,手动加上 order by null; join选择小表作为驱动表; order b...转载 2020-07-09 11:14:37 · 416 阅读 · 1 评论 -
洞悉MySQL底层架构:游走在缓冲与磁盘之间
涉及到的知识点内存结构:buffer pool、log buffer、change buffer,buffer pool的页淘汰机制是怎样的;磁盘结构:系统表空间、独立表空间、通用表空间、undo表空间、redo log;以及IO相关底层原理、查询SQL执行流程、数据页结构和行结构描述、聚集索引和辅助索引的底层数据组织方式、MVCC多版本并发控制的底层实现原理,以及可重复读、读已提交是怎么通过MVCC实现的看完本文你将了解到整体架构:InnoDB存储架构是怎样的 (1、MySQL架构)工作转载 2020-07-09 11:14:50 · 594 阅读 · 0 评论 -
mysql优化案例分析--记录篇
此篇不定时更新 用以记录业务中遇到或看到的案例解决方案原创 2019-08-20 16:50:47 · 223 阅读 · 0 评论 -
mysql查询过程分析
此篇不定时更新 用以记录业务中遇到或看到的案例解决方案mysql 查询过程客户端发送一条查询给服务器。服务器检查查询缓存,如果命中了缓存,则立即返回存储的缓存命中结果。否则进入下一个阶段服务器端进行sql解析、预处理,再由优化器生成对应的执行计划。mysql 根据优化器生成的执行计划,调用存储引擎API来执行查询。将结果返回给客户端。...原创 2019-08-20 16:49:31 · 291 阅读 · 0 评论 -
mysql数据类型整理记录和优化
数据类型整数类型有两种类型的数字, 整数和实数。整数可选:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT。分别使用8,16,24,32,64位存储空间。他们可以存储值的范围 从 -2 (n-1)到2(n-1)-1,n是存储空间的位数。整数类型可选 UNSIGNED 属性,大致可使正数上限提高一倍。我们的选择决定mysql是怎么在内存和磁盘中保存数据。 然...原创 2019-08-07 15:18:15 · 183 阅读 · 0 评论 -
mysql-高性能索引
什么是索引索引(在mysql中也叫key)是存储引擎用于快速找到记录的一种数据结构。索引的类型不同引擎对不同类型的索引实现方式可能都会不同。mysql支持的索引类型B-Tree索引一般谈论的索引,若无特别说明,多半就是说的B-Tree索引,使用B-Tree数据结构来存储数据。Archive 5.1前不支持任何索引,直到5.1才支持单个自增列(AUTO_INCREMENT)的索引。ND...原创 2019-08-08 16:57:13 · 135 阅读 · 0 评论 -
mysql 存储引擎深入了解
基础语句查看表语句mysql> show create table user\G;*************************** 1. row *************************** Table: userCreate Table: CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AU...原创 2019-08-06 15:14:23 · 149 阅读 · 0 评论 -
mysql事务处理-四种隔离级别
标题数据库四种事务级别RU-未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据。RC-提交读(Read Committed):只能读取到已经提交的数据,Oracle等多数数据库默认都是该级别。RR-可重复读(Repeatable Read):可重复读。在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。在SQL标准中,该隔离...转载 2019-07-23 14:24:42 · 278 阅读 · 0 评论 -
mysql锁机制总结,以及优化建议
锁概念什么是锁 锁是数据库系统区别于文件系统的一个关键特性。锁机制用于管理对 共享资源的并发访问。 每种数据库锁的算法都有可能不同, innoDB 存储引擎行锁,myisam 是表锁锁有什么作用 数据库系统使用锁是为了支持对共享资源的并发访问,提供数据的完 整性和一致性innodb 中的锁innoDB 存储引擎实现了如下两种标准的行级锁 共享锁(S L...原创 2019-07-25 17:33:25 · 330 阅读 · 0 评论 -
mysql事务日志(redo log 和 undo log)
转自:https://www.cnblogs.com/f-ck-need-u/archive/2018/05/08/9010872.html在数据库系统中,既有存放数据的文件,也有存放日志的文件。日志在内存中也是有缓存Log buffer,也有磁盘文件log file,本文主要描述存放日志的文件。 MySQL中的日志文件,有这么两类常常讨论到:undo日志与redo日志。1 un...转载 2019-07-24 15:25:12 · 666 阅读 · 1 评论 -
mysql事务:ACID特性的实现原理
一基础概念事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个sql语句,这些语句要么都执行,要么都不执行。作为一个关系型数据库,MySQL支持事务,本文介绍基于MySQL5.6。mysql事务的基础知识逻辑架构和存储引擎如上图所示,MySQL服务器逻辑架构从上往下可以分为三层:(1)第一层:处理客户端连接、授权认证等。(2)第二层:服务器层...转载 2019-07-24 15:20:25 · 205 阅读 · 0 评论