LosAngel LosAngel
3年前
golang实现MySQL数据库事物的提交与回滚
MySQL事务主要用于处理操作量大,复杂度高的数据。在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务。事务用来管理insert,update,delete语句,事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。一般来说,事务是必须满足4个条件(ACID)::原子性(Atomicit
Peter20 Peter20
3年前
MYSQL里的索引类型介绍
首先要明白索引(index)是在存储引擎(storageengine)层面实现的,而不是在server层面。不是所有的存储引擎支持有的索引类型。1、BTREE最常见的索引类型,他的思想是所有的值(被索引的列)都是被排过序的,每个叶节点到根节点的距离是相等的,所以适合用来找某一范围内的数据,而且可以直接支持排序(orderby)支持innoDB和MyIS
Wesley13 Wesley13
2年前
MySQL基础篇(05):逻辑架构图解和InnoDB存储引擎详解
本文源码:GitHub·点这里(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fcicadasmile%2Fmysqldatabase)||GitEE·点这里(https://www.oschina.net/action/GoToLink?url
Wesley13 Wesley13
2年前
mysql 知识2
mysql知识2存储引擎1.InnoDB和MYISAM存储引擎的区别?索引1.什么是索引?你知道Mysql有哪些索引?分别介绍一下2.索引的优缺点?那些情况适合建索引那些情况不适合建索引?事务1.什么是事务,它有哪些特性?说一说事务的隔离级别,分别解决了什么问题?
Wesley13 Wesley13
2年前
MySQL锁
<br1\.表锁表锁分为写锁,读锁,二者读读不阻塞,读写阻塞,写写阻塞<br<br2\.行锁行锁分为共享锁,排他锁,即读锁和写锁多粒度锁机制自动实现表、行锁共存,InnoDB内部有意向表锁意向共享锁(IS):事务在给一个数据行加共享锁前必须先取得该表的IS锁。
Wesley13 Wesley13
2年前
mysql单表千万条数据测试
软件环境:win7,mysql版本5.5,InnoDB存储引擎。硬件环境:普通笔记本,CPUP8700双核2.53GHz,内存3G,5400转机械硬盘1000GB。建了一张表,id列是自增长bigint,再加上其他varchar、datetime型的字段,总共8个字段,通过java生成了insert的sql文件,一共62个文件,每个文件50
Wesley13 Wesley13
2年前
mysql全文索引理解
第一次在工作中使用全文索引,遇到了一些坑,研究了下,写下我的一些理解。mysql5.6后InnoDB存储引擎已经支持全文索引。1、首先创建一张表test2。CREATETABLEtest2 (idINT(11),value2 TEXT )2、给test2的value2字段加上全文索引。ALTERTABLEtes
Wesley13 Wesley13
2年前
mysql数据库总结以及优化
(本文针对Innodb,如果有些的不对的地方,请在下面留言。。。)Mysql是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言结构化查询语言(SQL)进行数据库管理。mysql优化少不了sql优化,通常使用explain来查询执行计划。(本地测试数据,数据很少)!(https://oscimg.oschina
Wesley13 Wesley13
2年前
Mysql 5.6 “隐式转换”导致的索引失效和数据不准确
背景在一次进行SQl查询时,我试着对where条件中vachar类型的字段去掉单引号查询,这个时候发现这条本应该很快的语句竟然很慢。这个varchar字段有一个复合索引。其中的总条数有58989,甚至不加单引号查出来的数据不是我们想要的数据。使用的是mysql5.6版本,innoDB引擎实际情况如下
Wesley13 Wesley13
2年前
MySQL的四种事务隔离级别
本文实验的测试环境:Windows10cmdMySQL5.6.36InnoDB一、事务的基本要素(ACID)1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就