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
TMDlw
V2EX  ›  MySQL

mysql 删除记录会导致索引失效吗?

  •  
  •   TMDlw · 2020-03-24 13:52:24 +08:00 · 3412 次点击
    这是一个创建于 1707 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看网上 mysql 索引( innodb 引擎)资料的时候,看到一个观点:mysql 频繁删除记录或者修改索引列数据会导致索引失效,所以推荐使用标志位而不是真正的 delete,并且不对 update 字段建立索引。

    对于这个结论我赞同,但是不太赞同索引失效的说法,我的想法是删除记录或者修改索引列数据会导致 B+Tree 节点重新排列,但最终还是会形成一个完整的索引树,即不会导致索引失效。

    恳请各位大佬赐教,谢谢

    3 条回复    2020-03-24 14:20:56 +08:00
    JavaScriptVsJava
        1
    JavaScriptVsJava  
       2020-03-24 14:10:23 +08:00
    会不会是查询期间,索引在重建,所以不走索引
    potatoyam
        2
    potatoyam  
       2020-03-24 14:14:41 +08:00
    看过一个课程不会失效,但是会索引冗余,重建索引可以消除冗余
    gz911122
        3
    gz911122  
       2020-03-24 14:20:56 +08:00
    不会导致失效.
    但是会有碎片空间
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1029 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:11 · PVG 04:11 · LAX 12:11 · JFK 15:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.