达梦数据库常用操作
达梦数据库常用操作 查询名为xxx的对象: select * from sysobjects where name = ‘xxx’; 查询父对象为xxx的对象: select * from sysobjects where pid = xxx; 查询id为xxx的索引: select * from sysindexes where id = xxx; dmdata_cmp工具 打印...
达梦数据库常用操作 查询名为xxx的对象: select * from sysobjects where name = ‘xxx’; 查询父对象为xxx的对象: select * from sysobjects where pid = xxx; 查询id为xxx的索引: select * from sysindexes where id = xxx; dmdata_cmp工具 打印...
PostgreSQL物理存储 PostgreSQL内部,所有数据库对象都通过oid(object identifier,对象标识符)进行管理,包括数据库、表、索引等。 数据库的信息在pg_database系统表里,可以通过以下语句查询数据库的oid: select datname, oid from pg_database; 每个数据库都和base目录下一个子目录对应,目录名与数据库o...
B-Link Tree总结 B-Link Tree相比传统的B+树,主要有两个特点: 内页有一个指向右兄弟页的指针。 内页有一个high key,大于当前节点以及所有子节点中最大的key。 这两个特点,结合B-Link Tree的搜索、封锁、分裂方式,可以极大地降低并发冲突。主要特征总结如下: 搜索 搜索B树时,对非叶子节点只会上S锁,仅叶子节点可能上X锁。 搜索...
PostgreSQL B树搜索 PG使用B-Link Tree作为存储结构,本文分析其搜索流程 _bt_first第一次搜索B树,先处理key,处理并行扫描,决定比较模式(<, <=, =, >, >=),扫描顺序(向前或向后),初始化scankey,最终进入_bt_search搜索key所在页,然后调用_bt_binsrch二分搜索页中记录。 _bt_firs...
PostgreSQL B树插入 PG使用B-Link Tree作为存储结构,本文分析其插入流程 _bt_doinsert将一个tuple插入到B树: _bt_doinsert { // 构造scan key _bt_mkscankey // WRITE模式定位待插入的叶子页。路径上的节点都只会上S锁,访问孩子页后解锁,叶子节点会上X锁。搜索时会登记搜索路径到st...
MySQL字典 字典是表、索引、模式、约束等数据库对象的描述信息,需要访问时会从系统表加载到内存。 MySQL中,字典有以下几种: dict_table_t // 表 dict_col_t // 列 dict_index_t // 索引 dict_foreign_t // 外键约束
btr_pcur源码分析 MySQL对B树进行查询、插入、更新、删除等操作时,经常使用btr_pcur(Persistent B-tree Cursor)完成,本文分析btr_pcur源码。
B树源码解析 本文分析MySQL InnoDB中B树的实现,包括插入、更新、删除、搜索等。
Undo日志 undo日志有两个作用: 实现事务的隔离性。由于事务隔离级别的要求,其他事务对表的修改可能对当前事务不可见,此时当前事务需要通过undo日志拼装出最后可见的记录。 保证数据的一致性和正确性。事务回滚时,需要通过undo日志重做对表的操作。 MySQL中,redo日志是mtr实现的,undo日志则是trx实现的。 未完待续