如果我们提交第一步中的COMMIT,则会释放表锁,第2步中的增加索引会执行。 猜想应该增加非主键索引应该不会锁表。看下以下示例。 增加二级索引也会锁表 在navicat中开一个窗口,执行以下语句: BEGIN; select * from ur_user where id = '0000000053843f8901538447f27c0002'; -- COMMIT; 1. 2. 3. 再开另外...
索引可以加快数据库的检索速度 表经常进行 INSERT/UPDATE/DELETE操作就不要建立索引了,换言之:索引会降低插入、删除、修改等维护任务的速度。 -索引需要占物理和数据空间。 1. 了解过索引的最左匹配原则 知道索引的分类:聚集索引和非聚集索引 Mysql支持Hash索引和B+树索引两种 看起来好像啥都知道,但面试让你说的时...
所谓的隐式锁,可以理解成一个记录标记,在内存的锁对象hash中是不存在的。但我们在更新数据块时,会进行如下操作: #对于聚集索引,每次更改或插入记录会同时写入对应的事务id和回滚段指针 #对于二级索引,每次更改/插入二级索引记录,会更新二级索引页的最大事务id。 我们知道,Innodb在插入记录时,是不加锁的。如果事务...