![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
梆子大鼓
这个作者很懒,什么都没留下…
展开
-
mysql 各种锁的作用
①在mysql中有表锁, LOCK TABLE my_tabl_name READ; 用读锁锁表,会阻塞其他事务修改表数据。 LOCK TABLE my_table_name WRITe; 用写锁锁表,会阻塞其他事务读和写。 ②Innodb引擎又支持行锁,行锁分为 共享锁,一个事务对一行的共享只读锁。 排它锁,一个事务对一行的排他读写锁。 ③这两中类型的锁共存的问题 考虑这个例子: 事务A锁住了表...原创 2019-02-28 16:22:30 · 1966 阅读 · 0 评论 -
单个索引和联合索引
使用联合索引效率更高; 当创建(a,b,c)联合索引时,相当于创建了(a)单列索引,(a,b)联合索引以及(a,b,c)联合索引 想要索引生效的话,只能使用 a和a,b和a,b,c三种组合;当然,我们上面测试过,a,c组合也可以,但实际上只用到了a的索引,c并没有用到! 需要加索引的字段,要在where条件中 ...原创 2019-04-16 15:33:49 · 485 阅读 · 0 评论 -
一份基本的mysql规范
一、命名规范 1、所有数据库对象名称必须使用小写字母并用下划线分割; 2、临时库表必须以tmp_为前缀并以日期作为后缀。备份表必须以bak_为后缀并以日期为后缀 3、所有存储相同数据的列明和列类型必须一致(一般作为关联列,如果查询是关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效。) 二、基本设计规范 1、所有表必须使用innodb存储引擎(没有特殊要求,即innodb无法满足的功...原创 2019-04-04 22:53:17 · 87 阅读 · 0 评论 -
centos第一次安装mysql的正确步骤,不再踩坑
1、官方安装文档 http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 2、下载 Mysql yum包 http://dev.mysql.com/downloads/repo/yum/ 下载到本地再上传到服务器,或者使用wget 直接下载 wget http://repo.mysql.com/mysql57-community-releas...转载 2019-04-07 19:17:43 · 165 阅读 · 0 评论 -
创建数据库关于时间的小技巧
`create_time` timestamp not null default current_timestamp comment '创建时间', `update_time` timestamp not null default current_timestamp on update current_timestamp comment '修改时间', 这样来创建:创建时间和修改时间这两个字段的时...原创 2019-04-07 21:30:10 · 232 阅读 · 0 评论 -
mysql该如何避免全表扫描(转)
全表扫描是数据库搜寻表的每一条记录的过程,直到所有符合给定条件的记录返回为止。通常在数据库中,对无索引的表进行查询一般称为全表扫描;然而有时候我们即便添加了索引,但当我们的SQL语句写的不合理的时候也会造成全表扫描。 以下是经常会造成全表扫描的SQL语句及应对措施: 使用null做为判断条件 如:select account from member where nickname = null; 建...转载 2019-04-15 13:35:01 · 579 阅读 · 0 评论 -
mysql什么情况下会触发表锁
原文链接 https://www.cnblogs.com/sessionbest/articles/8689082.html 在上面讲到的并发事务处理带来的问题中,“更新丢失”通常是应该完全避免的。但防止更新丢失,并不能单靠数据库事务控制器来解决,需要应用程序对要更新的数据加必要的锁来解决,因此,防止更新丢失应该是应用的责任。 “脏读”、“不可重复读”和“幻读”,其实都是数据库读一致性问题,必须由...转载 2019-04-15 14:55:47 · 4018 阅读 · 0 评论 -
MySQL数据库事务MVCC
Innodb只是借了MVCC这个名字,提供了读的非阻塞而已。 https://m.imooc.com/article/17290 1.单纯加锁是怎么实现 read committed 的? 从此隔离级别效果入手:事务只能读其他事务已提交的的记录。 数据库事务隔离级别的实现,InnoDB 支持行级锁,写时加的是行级排他锁(X lock),那么当其他事务访问另一个事务正在update (除select...转载 2019-06-15 14:06:27 · 366 阅读 · 0 评论 -
mysql redolog和undolog
1 undo 1.1 undo是什么 undo日志用于存放数据修改被修改前的值,假设修改 tba 表中 id=2的行数据,把Name=‘B’ 修改为Name = ‘B2’ ,那么undo日志就会用来存放Name='B’的记录,如果这个修改出现异常,可以使用undo日志来实现回滚操作,保证事务的一致性。 对数据的变更操作,主要来自 INSERT UPDATE DELETE,而UNDO LOG中分为两...原创 2019-06-17 09:13:15 · 491 阅读 · 0 评论