主页

[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 ...

阅读更多