随笔分类 - MySQL
1
摘要:【转载】MySQL:多个事务更新同一行数据时,通过加行锁避免脏写的 引入 多个事务并发运行的时候,如果同时要读写一批数据,此时读和写事件的关系需要协调好,否则可能会有脏读、不可重复读、幻读等一系列问题 简单来说,脏读、不可重复读、幻读,都是别人在更新数据的时候,你怎么读的问题,读的不对,那就有问题
阅读全文
摘要:查看某数据库中表信息 SELECT * from information_schema.tables WHERE table_schema not in ('information_schema', 'mysql', 'performance_schema') and table_schema='z
阅读全文
摘要:Mysql问题收集 主从同步流程 异步模式 主节点 1、当主节点上进行 insert、update、delete 操作时,会按照时间先后顺序写入到 binlog 中; 2、当从节点连接到主节点时,主节点会创建一个叫做 binlog dump 的线程; 3、一个主节点有多少个从节点,就会创建多少个 b
阅读全文
摘要:InnoDB一致性非锁定读 多版本并发控制仅仅是一种技术概念,并没有统一的实现标准, 其的核心理念就是数据快照,不同的事务访问不同版本的数据快照,从而实现不同的事务隔离级别。虽然字面上是说具有多个版本的数据快照,但这并不意味着数据库必须拷贝数据,保存多份数据文件,这样会浪费大量的存储空间。InnoD
阅读全文
摘要:事务隔离级别 | 隔离级别 | 脏读 | 不可重复读 | 幻读 | | : | : | : | : | | 读未提交 | 可以出现 | 可以出现 | 可以出现 | | 读提交 | 不允许出现 | 可以出现 | 可以出现 | | 可重复读 | 不允许出现 | 不允许出现 | 可以出现 | | 序列化
阅读全文
摘要:前言 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎的
阅读全文
摘要:基本概念 binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undo log是完全不同的日志;其主要是用来记录对mysql数据更新或潜在发生更新的SQL语句,记录了所有的DDL和DML(除了数据查询语句)语句,并以事务的形式保存在磁盘中,还包含语句所执行的消
阅读全文
摘要:本质 隔离级别定义了数据库系统中一个操作产生的影响什么时候以哪种方式可以对其他并发操作可见,隔离性是事务的ACID中的一个重要属性,核心是对锁的操作。 锁 从数据库系统角度 共享锁(Shared Lock) 读锁,保证数据只能读取,不能被修改。 如果事务A对数据M加上S锁,则事务A可以读记录M但不能
阅读全文
摘要:用户定义的变量(前缀为@): 您可以访问任何用户定义的变量,而无需声明或初始化它。如果引用尚未初始化的变量,则其值为 和字符串类型。 set赋值: select赋值: 或者 select使用:=也可以实现赋值 用户定义的变量是特定于会话的。也就是说,其他客户端无法看到或使用由一个客户端定义的用户变量
阅读全文
摘要:=与:=区别 = 只有在set和update时才是和:=一样,赋值的作用,其它都是等于的作用。鉴于此,用变量实现行号时,必须用:= := 不只在set和update时时赋值的作用,在select也是赋值的作用。 序列号: 两种创建变量并赋值的方式 SET @变量名 = 值; SELECT 值 INT
阅读全文
摘要:[TOC] 唯一性索引unique影响: 唯一性索引表创建: DROP TABLE IF EXISTS ; CREATE TABLE ( int(11) NOT NULL AUTO_INCREMENT, varchar(200) CHARACTER SET utf8 DEFAULT NULL, va
阅读全文
摘要:[TOC] datetime和timestamp区别: 1. 存储方式不一样,IMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。而对于DATETIME,不做任何改变,基本上是原样输入和输出。 2. 占用存储空间不同。ti
阅读全文
摘要:1.查看表信息 desc hs_user_credit_info; 2.新增表字段 alter table hs_credit_order add search_relation_names varchar(80) comment '尽调主体关联人-查询对象关联关系' ; 3.修改字段是否为null
阅读全文
摘要:新增测试用表: 新增数据: 分别是两种不同的方式新增 查询: 显示json格式内部字段: 去除掉默认双引号: 条件查询: 必须使用cast转换为json类型 如果不转换就相当于查询String,是查询不到数据的。 使用json内属性进行条件查询: 两种皆可 要特别注意的是,JSON 中的元素搜索是严
阅读全文
摘要:1.查询每个班级的前三名 result: SELECT * FROM sc aWHERE 3 > ( SELECT COUNT( * ) FROM scWHERE class = a.class AND score > a.score ) ORDER BY a.class , a.score DES
阅读全文
摘要:1.数据库行级锁的应用,修改一条记录时是否会加上行级锁 行级锁的优点有: 在很多线程请求不同记录时减少冲突锁。 事务回滚时减少改变数据。 使长时间对单独的一行记录加锁成为可能。行级锁的缺点有: 比页级锁和表级锁消耗更多的内存。 锁是计算机协调多个进程或线程并发访问某一资源的机制,不同的数据库的锁机制
阅读全文
摘要:索引,复合索引 这里只看BTree索引,至于哈希索引和全文索引本文暂不讨论。 前言: 索引是有效使用数据库的基础,但你的数据量很小的时候,或许通过扫描整表来存取数据的性能还能接受,但当数据量极大时,当访问量极大时,就一定需要通过索引的辅助才能有效地存取数据。一般索引建立的好坏是性能好坏的成功关键。
阅读全文
摘要:区分B树,B-树 有的文章说二叉查找树(Binary Search Tree,BST)就是B树,这个我总结来说是不对的 B树和B-树是同一种树,只不过英语中B-tree被中国人翻译成了B-树,让人以为B树和B-树是两种树,实际上,两者就是同一种树。 前言: 动态查找树主要有:二叉查找树(Binary
阅读全文
摘要:Timespan设置: 在MySQL5.7版本中创建表 注意updateTime字段,会在创建的时候报错: 修改: Sql_mode设置: 从当前环境变量查看MySQL的sql_mode配置: 从当前连接会话查看sql_mode: 查看全局的sql_mode: 临时修改sql_mode: 永久修改:
阅读全文
摘要:下载最新版本 MySQL 5.7.13 解压放置到D:\Program Files\MySql 配置环境变量 只是在Path后面添加D:\Program Files\MySql\bin; 修改MySQL配置文件,修改MySQL内的my-default.ini,或者添加一个ini文件 我的修改 只改了
阅读全文
1