mysql
文章平均质量分 82
檀檀吸甲烷
南京大学信息管理学院
展开
-
Innodb存储引擎 Ch5 索引与算法
常见索引B+树全文索引哈希索引B+树二叉查找树AVL树(平衡二叉树)是一棵二叉查找树,但是任何节点的两个子树高度差最大为1。B+树 一棵m阶B树是一棵平衡的m路搜索树。最重要的性质是每个非根节点所包含的关键字个数 j 满足:┌m/2┐ - 1 <= j <= m;子树的个数最多可以与关键字一样多。非叶节点存储的是子树里最小的关键字。同时数据节点只存在于叶子节点中,且叶子节点间增加了横向的指针,这样顺序遍历所有数据将变得非常容易。特点高扇出性:B+树的高度一般是2-4层。原创 2021-05-06 14:28:30 · 117 阅读 · 0 评论 -
InnoDB存储引擎 Ch1-2简介
第1章数据库:物理操作系统文件或其他形式文件类型的集合。实例:MySQL数据库由后台线程和一个共享内存区组成。MySQL是一个单进程多线程架构的数据库。MySQL最大特点:插件式的表存储引擎。存储引擎是基于表的,不是数据库。第2章 InnoDB存储引擎版本SHOW VARIABLES LIKE 'innodb_version';+----------------+--------+| Variable_name | Value |+----------------+--------+原创 2020-09-16 16:52:22 · 158 阅读 · 0 评论 -
InnoDB存储引擎 3文件
参数查看information_schema下的GLOBAL_VARIABLES查找参数。但是在mysql8.0.21没有这张表格/视图?出错SELECT * FROM global_variables WHERE VARIABLE_NAME LIKE 'innodb_buffer%';成功SHOW VARIABLES LIKE 'innodb_buffer%';+-------------------------------------+----------------+| Variabl原创 2020-09-21 17:01:21 · 121 阅读 · 0 评论 -
InnoDB存储引擎 Ch4 表
表的逻辑结构表的物理结构表空间 Tablespace段 Segment数据段索引段回滚段区 Extent页 Page数据页undo页系统页事务数据页插入缓冲位图页插入缓冲空闲列表页未压缩的二进制大对象页压缩的二进制大对象页行 Row...原创 2021-04-28 16:27:04 · 60 阅读 · 0 评论 -
Innodb存储引擎 Ch7 事务
1 概述扁平事务Flat Transaction出错时,回滚所有操作。成功完成,约占96%。应用程序要求停止事务,约占3%。回滚。由于外界原因,如超时,强制终止,约占1%。回滚。带有保存点的扁平事务Flat Transactions with Savepoint出错时,回滚到保存点(savepoint)位置。保存点用SAVE WORK函数建立,通知系统记录当下的处理状态。保存点在事务内部是递增的,即便回滚以后,保存点的号码也会根据之前可能已经被回滚的保存点的编号而增长。链事务Chaine原创 2021-04-28 16:26:23 · 147 阅读 · 1 评论 -
Innodb存储引擎 8备份与恢复
分类热备冷备温备:运行中进行,但会影响数据操作,例如加了全局读锁逻辑备份:导出可读文件,例如mysqldump裸文件备份:时间比逻辑备份要短很多 完全备份增量备份日志备份冷备备份内容frm文件共享表空间文件独立表空间文件(*.ibd)重做日志文件配置文件my.cnfmysqldump备份过程将shcema备份到指定文件.sqlmysqldump -u username -p schema_name > e:/yourpath/f原创 2021-04-06 13:58:40 · 96 阅读 · 0 评论 -
mysql: Lock wait timeout exceeded
报错原因-猜想1:当锁等待超时后innodb引擎报此错误,等待时间过长的语句被回滚(不是整个事务)。如果想让SQL语句等待其他事务更长时间之后完成,你可以增加参数innodb_lock_wait_timeout配置的值。如果有太多长时间运行的有锁的事务,你可以减小这个innodb_lock_wait_timeout的值,在特别繁忙的系统,你可以减小并发。InnoDB事务等待一个行级锁的时间最长时间(单位是秒),超过这个时间就会放弃。默认值是50秒。一个事务A试图访问一行数据,但是这行数据正在被另一个in转载 2020-11-30 15:38:57 · 291 阅读 · 0 评论 -
MySQL 脏读、幻读和不可重复读
Read Committed含义:读已提交,一个事务只能看到其他并发的已提交的事务所作的修改。特点:不会出现脏读:事务A:修改Table中数据为x,未提交事务B:读取Table中数据,x。事务A:rollback,并将x修改为y,提交。事务B:读取Table中数据,y。即读到了脏数据。存在不可重复读:事务A:读取Table中的数据,x。事务B:将x修改为y,提交。事务A:读取Table中数据,y。即在一个事务中同样的查询返回了不同结果。存在幻读事务A:读取Table原创 2020-10-10 13:10:26 · 366 阅读 · 0 评论