一、译文 翻译来自官方文档:Locking Reads If you query data and then insert or update related data within the same transaction, the regular SELECT statement does no ...
分类:
数据库 时间:
2019-05-31 16:22:29
阅读次数:
145
使用excel文件直接拷贝。这种主要用于要写入的数据已是excel文件或者行列分明的其它格式文件,每一列的值和表结构相对应,可直接打开表的行级锁,把数据拷贝进入。打开行级锁方法:select t.*,rowid from 表名 t where 1=2;select * from 表名 where 1 ...
分类:
数据库 时间:
2019-05-31 00:40:24
阅读次数:
204
锁模块 常见问题 一、MyISAM与InnoDB关于锁方面的区别是什么 MyISAM默认用的是表级锁,不支持行级锁 InnoDB默认用的是行级锁,也支持表级锁 MyISAM引擎 创建表 CREATE TABLE `person_info_myisam`( `id` int(7) NOT NULL A ...
分类:
数据库 时间:
2019-05-27 11:52:53
阅读次数:
141
一、并发性 并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。 mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索 ...
分类:
数据库 时间:
2019-05-18 00:34:20
阅读次数:
166
1、存储引擎区别MyISAM:不支持事物、仅支持表级锁、支持B+树索引MEMORY:不支持事物、仅支持表级锁、支持B+树和HASH索引InnoDB:支持事物、支持行级锁、支持B+树索引 2、锁机制MyISAM、MEMORY存储引擎使用的是表级锁,分别为表共享读锁和表独占写锁,显示加锁LOCK TAB ...
分类:
数据库 时间:
2019-05-09 15:23:13
阅读次数:
144
封锁 封锁粒度 MySQL中提供了两种封锁粒度: 行级锁 和 表级锁 。 应该尽量的只锁定需要修改的那部分数据,而不是所有的资源,锁定的数据量越少,发生锁争用的可能性就越小,系统的并发程度就越高。 加锁需要消耗资源,锁的各种操作(包括锁的获取,释放锁, ...
分类:
数据库 时间:
2019-04-30 21:33:15
阅读次数:
138
Mysql 的InnoDB存储引擎实现的不是简单的行级锁,实现的是MVCC,多版本并发控制,可以理解成行级锁的一个变种。 InnoDB的MVCC是通过在每行纪录后面保存两个隐藏的列来实现的。这两个列,一个是保存了行的创建时间,一个是保存了行的过期时间(删除时间),时间是用的系统的版本号来存储的。 在 ...
分类:
数据库 时间:
2019-04-29 12:55:47
阅读次数:
120
军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一、基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集 解读:万国码,无需转码,无乱码风险,节省空间 ...
分类:
数据库 时间:
2019-04-23 17:16:14
阅读次数:
173
1. InnoDB 引擎 MySQL 5.5 及以后版本中的默认存储引擎,它的优点如下:灾难恢复性好,支持事务,使用行级锁,支持外键关联,支持热备份。 InnoDB引擎中的表,其数据的物理组织形式是簇表(Cluster Table),主键索引和数据是在一起的,数据按主键的顺序物理分布。实现了缓冲管理 ...
分类:
数据库 时间:
2019-04-12 13:20:56
阅读次数:
200
一般使用悲观锁(for update),都是防止并发情况下对某个业务表数据同时进行修改操作。 这个时候该如何去优化呢? 一般悲观锁,如果按照索引去查询,锁住的是行级锁。一般是单个账户一行记录。 这个时候可以考虑将要批量的更改业务数据,按照用户分组,然后开启多线程去处理。 这样能让多个用户之间同时处理 ...
分类:
其他好文 时间:
2019-04-05 09:32:51
阅读次数:
241