首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
›
MySQL 5.5 Community Server
›
MySQL 5.6 Community Server
›
Percona Configuration Wizard
›
XtraBackup 搭建主从复制
Great Sites on MySQL
›
Percona
›
MySQL Performance Blog
›
Severalnines
推荐管理工具
›
Sequel Pro
›
phpMyAdmin
推荐书目
›
MySQL Cookbook
MySQL 相关项目
›
MariaDB
›
Drizzle
参考文档
›
http://mysql-python.sourceforge.net/MySQLdb.html
广告
V2EX
›
MySQL
mysql 删除记录会删除次级索引吗?
Aresxue
·
2019-09-04 16:52:15 +08:00
· 4309 次点击
这是一个创建于 1873 天前的主题,其中的信息可能已经有所发展或是发生改变。
mysql 的默认删除是将行记录中的 delete_mask 从 0 修改为 1,这样该行就可以被复用了,但是非聚簇索引存在别的页,会根据行记录的聚簇索引反向查到所有非聚簇索引然后把它们删除吗?
第 1 条附言 ·
2019-09-04 19:04:47 +08:00
次级索引会不会删除?如果删除是不是立即删除?
聚簇
索引
删除
MySQL
5 条回复
•
2019-09-06 11:05:14 +08:00
1
vino2014zly
2019-09-04 17:59:51 +08:00
设想一下如果不删除,查询走覆盖索引的时候咋办?
2
Aresxue
OP
2019-09-04 19:04:18 +08:00
@
vino2014zly
走了之后并找不到聚簇索引,不影响结果集,但是对性能会有影响。
3
ilumer
2019-09-05 09:37:11 +08:00
@
Aresxue
走了索引覆盖 就和聚簇索引没啥关系了
4
Aresxue
OP
2019-09-06 09:40:18 +08:00
@
ilumer
索引覆盖是比较理想的情况,在实际中一般还要根据指针再去找聚簇索引获取整个行。我的疑惑点在于这些二级索引此时是如何处理的,如果是和其他行共有的二级索引也不可能直接删除吧?但是如果二级索引没有指向聚簇索引的记录了此时是不是会删除?删除是当前线程去操作还是异步 purge 线程去清理。
5
ilumer
2019-09-06 11:05:14 +08:00
@
Aresxue
超纲了 菜鸡不会 瞎猜不会删除
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
941 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms ·
UTC 19:15
·
PVG 03:15
·
LAX 12:15
·
JFK 15:15
Developed with
CodeLauncher
♥ Do have faith in what you're doing.