[InnoDB 学习6] 事务
事务的ACID特性
事务在提交工作时,可以确保要么所有修改都保存了,要么所有修改都不保持。
事务具有的4个特性。
原子性(atomicity)
1个事务要么全部提交成功,要么全部失败回滚,不能只执行其中一部分操作。
一致性(consistency)
事务将数据库从一种状态转变为一种一致的状态。
如果数据库运行中发生故障,有些事务被迫中断,未完成的事务对数据库所做的修改有一部分已经写入数据库,这时数据库就处于不一致的状态。
完整性约束也不能被破坏。
隔离性(isolation)
是指在并发环境中,事务是相互隔离的,1个事务的执行不能被其它事务干扰。
不同事务操作的数据对其它并发的事务是隔离的。
持久性(durability)
事务一旦提交,那么它对该数据...
[InnoDB 学习5] 锁
锁
锁机制用于管理对共享资源的并发访问。
lock与latch,都被称为锁,但含义不同。
latch一般成为闩锁(轻量级的锁),要求锁定时间非常短,否则性能差。分为mutex(互斥量)和rwlock(读写锁)。用来保证并发线程操作临界资源的正确性,且没有死锁检测机制。
lock的对象是事务,用于锁定表、页、行。一般lock的对象仅在事务commit或rollback后释放(不同事务隔离级别不同,释放时间不同)。有死锁机制。
.
lock
latch
对象
事务
线程
...
[InnoDB 学习4] 索引
概述
InnoDB存储引擎支持以下几种常见的索引:
B+树索引
全文索引
哈希索引
哈希索引是自适应的,InnoDB存储引擎会根据表的使用情况自动为表生成哈希索引,不能人为的干预是否在一张表中生成哈希索引。
B+树索引就是传统意义上的索引,这是目前关系型数据库系统中查找最为常用和最为有效的索引。
B+树索引的构造类似于二叉树,根据键值快速找到数据。
相关算法
二分查找法:折半查找,需先将数据有序化。
二叉查找树(不一定平衡):左子树的键值总小于根的键值,右子树的键值总大于根的键值。
平衡二叉树(AVL):2子树高度最大差1。
平衡二叉树的查找性能是比较高的,但不是最高的,只是接近最高性能。最好的性能需要建立一棵最优二叉树,但...
[InnoDB 学习3] 表
索引组织表
在InnoDB存储引擎中,表是根据主键顺序组织存放的,这种存储方式的表称为索引组织表。每个表都有主键,如果创建表时,没有显式地定义主键,则会如下创建:
首先判断表中是否有非空的唯一索引(Unique NOT NULL),如果有,则该列即为主键。
若不满足上述条件,InnoDB存储引擎自动创建一个6字节大小的指针。
当表中有多个非空唯一索引时,InnoDB存储引擎将选择建表时第一个定义的非空唯一索引为主键。(主键的选择是定义索引的顺序,而不是建表时列的顺序)
例:
create table test_selectprimarykey_t(
a int not null,
b int null,
c int ...
[InnoDB] 事务特性ACID、隔离级别、悲观锁乐观锁
事务特性
隔离级别越低,事务请求的锁越少或保持锁的时间就越短。
事务具有的4个特性。
原子性(atomicity)
1个事务要么全部提交成功,要么全部失败回滚,不能只执行其中一部分操作。
一致性(consistency)
事务将数据库从一种状态转变为一种一致的状态。
如果数据库运行中发生故障,有些事务被迫中断,未完成的事务对数据库所做的修改有一部分已经写入数据库,这时数据库就处于不一致的状态。
完整性约束也不能被破坏。
隔离性(isolation)
是指在并发环境中,事务是相互隔离的,1个事务的执行不能被其它事务干扰。
不同事务操作的数据对其它并发的事务是隔离的。
持久性(durability)
事务一旦提交,那么它对该数据的变更就会永久保存在数据库中...
[InnoDB 学习2] 存储引擎文件
构成MySQL数据库和InnoDB存储引擎表的各种类型文件:
参数文件:初始化某些参数,定义某种内存结构等。
日志文件:用来记录MySQL实例的日志,如错误日志文件、二进制日志文件、慢查询日志文件、查询日志文件等。
二进制日志:记录了对MySQL数据库执行更改的所有操作,但不包括SELECT和SHOW这类操作,因为没有对数据本身修改。
参数binlog_format,可设置为STATEMENT(传统方式,记录逻辑SQL语句),ROW(记录行更改,每行的前后变化),MIXED。
socket文件:当用UNIX域套接字方式进行连接时需要的文件。
pid文件:MySQL实例的进程ID文件...
[paper] YOLOv4: Optimal Speed and Accuracy of Object Detection
优化
本作结合了最新的研究成果,优化了各个部分:Object detection models, Bag of freebies, Bag of specials。没有改变模型思路,增加了不少提升模型精度,而没有/只有一点增加开销的trick。
效果
『effect』
思路
『detector架构』
组件:
Input: Image, Patches, Image Pyramid
Backbones: VGG16, ResNet-50, SpineNet, EfficientNet-B0/B7, CSPResNeXt50, CSPDarknet53
Neck:
Additional blocks: SPP, ASPP, R...
[paper] YOLOv3: An Incremental Improvement
优化
针对小目标,精度提升。使用不同比例的盒子(3-d tensor)+FPN网络结构。
效果
『mAP、耗时』
网络
『网络结构』
包含最后一层Connected,共53层。
yolov1: 24 conv + 2 fc -> yolov2: 19 conv -> yolov3: 52 conv + 1 fc
『基于residual的Darknet-53 与 ResNet比较』
Darknet-53 采用了residual的结构,但去掉了许多认为没有效率的层。
思路
1.Bounding Box Prediction
边界盒的预测与前作一直,预测的仍然是相对prior box的偏移值。
『Bounding ...
共计 74 篇文章,10 页。