腾讯|什么?还在用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 。
- 微信|个人收款码与商业收款码有什么不一样
- 任正非|任正非与孟晚舟的姓氏为什么不一样?
- 东南亚|MIUI13深度使用报告,这还是我认识的MIUI吗?网友评价很真实
- |互联网运营是什么?快来看看你是哪种类型的运营
- 苹果|马化腾称,腾讯只是一家普通公司,这是谦虚说法还是有所顾虑?
- 百度|马化腾的一句话,腾讯市值一小时暴涨1400亿港币,马云格局还是小了
- 腾讯研究院|构建美好数字社会,腾讯2022科技向善创新周成功举办
- 罗永浩|三年时间还掉六个亿的债,中年男人罗永浩的还债故事
- 微信聊天最令人头疼的场景是什么?一定有人会说是对方发来一连串语音还都是超过30秒的长消息...|终于!微信上线万众期待的新功能!网友:总算等到了
- 接班人|任正非儿子任平,会是华为接班人吗?他比父亲还低调许多