腾讯|什么?还在用delete删除数据《死磕MySQL系列 九》

文章图片
文章图片
文章图片
文章图片
文章图片
系列文章五、如何选择普通索引和唯一索引《死磕MySQL系列 五》
六、五分钟 , 让你明白MySQL是怎么选择索引《死磕MySQL系列 六》
七、字符串可以这样加索引 , 你知吗?《死磕MySQL系列 七》
八、无法复现的“慢”SQL《死磕MySQL系列 八》
参与了好几个项目开发 , 每个项目随着业务量的增大 , MySQL数据日益剧增 , 例如其中一个项目中得用户足迹表 , 那是非常的疯狂 , 只怪我大意了 , 没有闪 。
这篇文章我会从delete对性能的影响 , 以及如何以正确的姿势来删除数据 。
在MySQL中Innodb存储引擎的表存在两部分 , 一部分是表结构 , 另一部分是表数据 。
在MySQL8.0之前/var/lib/mysql下都会存在.frm文件 , 在MySQL8.0之后就不存在了 。 这是因为MySQL8.0中已经允许把表结构定义放到数据字典中了 , 是用参数innodb_file_per_table来决定的 。
一、表空间表空间分为几种 , 系统表空间、用户表空间、undo空间 。
系统表空间:MySQL内部的数据字典 , 如information_schema库下的数据 。
用户表空间:自己建立的表结构数据
undo空间:存储Undo信息 , 用于快速回滚 。
MySQL8.0之前表结构是在系统表空间存储的 , 在MySQL5.6.6后可以使用参数innodb_file_per_table来控制 。
设置为off时 , 表数据是放在系统表空间中 , 也就是MySQL的数据字典放在一起 。
设置为on时 , innodb存储引擎的表数据存储在.idb文件中 。
你知道表定义存储在哪里吗?
来到死磕MySQL系列的专用数据库kaka , 新建一张表evt_sms 。
- ios16|未受到电商冲击,理发店为啥还是纷纷倒闭?过来人说出真相
- ZOL科技早餐:华为千元手表官宣,腾讯QQ回应大规模盗号
- 浮甘瓜于清泉,沉朱李于寒水”描述的是什么场面 蚂蚁庄园今日答案6月28日
- 成年后,近视度数还会再加深吗 蚂蚁庄园今日答案6月29日
- 为什么科学家表示人类“灭绝”的可能性极低?这些理由你赞同吗?
- 为什么科学家知道太阳的原理,却无法制造出人造太阳
- 社交|腾讯视频为IP编写「价值算法」
- 最前线 | 腾讯游戏发布40余款产品与项目,《王者荣耀》发布全新规划
- 我国首个海洋油气装备投产!还有一批重大工程取得新进展→
- 腾讯游戏发布40余款产品与项目,《王者荣耀》发布全新规划
