12.MySql事务
什么是事务? 事务( ),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元。事务通常由高 级数 据库操作语言或编程语言(如 SQL,C++ 或 Java)书写的用户程序的执行所引起,并用形如 和 语句(或函数调用)来界定。事务由事务开始( )和事务结束…
Writing topic
沿着这个关键词,继续往里看。
什么是事务? 事务( ),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元。事务通常由高 级数 据库操作语言或编程语言(如 SQL,C++ 或 Java)书写的用户程序的执行所引起,并用形如 和 语句(或函数调用)来界定。事务由事务开始( )和事务结束…
1. 为什么要拆分数据库? 单体项目在构建之初, 数据库 的负载和数据量都不大,所以不需要对数据库做拆分,小型财务系统、文书系统、ERP系统、OA系统,用一个MySQL数据库实例基本就够用了。 就像《淘宝技术这十年》里面说到的,电商业务的数据量增长飞快,所以最开始的PHP+MySQL的架构已经不能满…
Innodb引擎的4大特性 插入缓存(Insert Buffer/Change Buffer) 插入缓存之前版本叫insert buffer,现版本Change Buffer,主要提升插入性能,change buffer 是insert buffer的加强,insert buffer 只针对inse…
ABC联合索引生效问题 对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c)。 可以支持 a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分…
语句的执行过程如下: 客户端(通常是你的服务)发出更新语句” update t set b = 200 where id = 2 “ 并向MySQL服务端建立连接; MySQL连接器负责和客户端建立连接,获取权限,维持和管理连接; MySQL拿到一个查询请求后,会先到查询缓存看看(MySQL8.x已…
MySQL BinLog MySQL 的 Binlog 日志是一种二进制格式的日志,Binlog记录所有的DDL和DML语句(除了数据查询语句Select, show 等),以Event的形式记录,同时记录语句执行时间。 BInlog的 主要作用有两种: 数据恢复: 因为Binlog详细记录所有修改…
分布式锁 什么是锁 在单线程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量 而同步的本质是通过锁实现的。为了实现多个线程在一个时刻同一代码块只能有一个线程可执行,那么需要在某个地方做个标记,这个必须每个线程…
背景 MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的…
一条SQL查询语句如何执行 MySQL可以分为Server层和存储引擎层两部分 Server层包括 连接器、查询缓存、分析器、优化器、执行器 等,涵盖了MySQL的大多数核心功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程,触发器,视图等。…
索引 什么是索引 索引是一个单独的,存储在磁盘上的数据结构,包含着对数据表里所有记录的引用指针,使用索引可以快速记录找出在某个或多个列中有一特定值的行,所有MySQL列数据都可以被索引,所有MySQL列类型都可以被索引,对相关列使用时提高查询操作速度的最佳途径。 索引是在存储引擎中实现的,因此,每种…