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

MySql InnoDB 索引叶子节点记录的是什么?

  •  
  •   wml · Dec 10, 2019 · 7766 views
    This topic created in 2482 days ago, the information mentioned may be changed or developed.

    在网上看到有的说聚集索引中叶子节点记录的是这一行纪录的数据,有的说是纪录位置。那到底纪录的啥,没搞明白。 还有普通索引叶子节点是纪录主键?这个应该不是位置吧。

    13 replies  •  2019-12-11 10:24:02 +08:00
    wangyzj
        1
    wangyzj  
       Dec 10, 2019
    主键索引是记录
    其他索引是位置
    alpha2016
        2
    alpha2016  
       Dec 10, 2019
    主键上是整条数据,其他索引上是主键的 ID,然后回表查询数据,是时候推荐你买课了 https://segmentfault.com/a/1190000018416259
    wml
        3
    wml  
    OP
       Dec 10, 2019
    @wangyzj
    @alpha2016
    谢谢回复。

    那表记录和主键索引叶子节点的纪录,是相当于存储了两份吗?
    johnj
        4
    johnj  
       Dec 10, 2019
    @wml 就一份数据 在主键索引的叶子上
    wml
        5
    wml  
    OP
       Dec 10, 2019
    @johnj 明白了 感谢
    liunaijie
        6
    liunaijie  
       Dec 10, 2019
    @johnj 如果在建表时没有创建主键,在后面修改表结构添加主键。这种情况下是怎么操作的呢?
    johnj
        7
    johnj  
       Dec 10, 2019
    @liunaijie 你不设置主键 innodb 引擎也会给你搞主键的 只是你看不见。你自己再加主键的话,我不清楚这个过程,是否是新主键重建整个表。一般没这么干的,都是要给主键且是自增主键。
    alpha2016
        8
    alpha2016  
       Dec 10, 2019
    @liunaijie 如果没有指定主键,系统会使用 row_id 来当主键,这个对数据是不可见,row_id 全局共享,之后在新增主键的话,估计会进行一次数据搬迁一样的操作,将记录搬到新的主键一份,原来的删不删不知道了,估计在 OPTIMIZE TABLE 的时候会触发删除原来的。

    这个在掘金那个 mysql 小册里讲的很详细,用我二楼的连接买吧
    wangyzj
        9
    wangyzj  
       Dec 10, 2019
    @alpha2016 .......
    dreamm
        10
    dreamm  
       Dec 10, 2019
    @alpha2016 哈哈哈我感觉你是来打广告的
    alpha2016
        11
    alpha2016  
       Dec 10, 2019
    @dreamm 顺带 ad 一下,不好的话好像没办法删掉了
    liunaijie
        12
    liunaijie  
       Dec 11, 2019
    @alpha2016 之前买了 MySQL45 讲。以为存储了两份记录,才有了这个问题。
    alpha2016
        13
    alpha2016  
       Dec 11, 2019
    @liunaijie 昨天请假一个大佬,他让我测试一下,然后观察 ibd 文件的变化,就一目了然了。大佬原话:页面结构和记录结构有讲每个字节都是干嘛的,授人以鱼不如授人以渔,自己对照着分析吧,万能解法。

    45 讲我也买了,但是不如掘金那个讲的细致,小细节我就去翻掘金那个了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1067 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 23:35 · PVG 07:35 · LAX 16:35 · JFK 19:35
    ♥ Do have faith in what you're doing.