• 技术文章 >数据库 >MySQL

    mysql InnoDB索引的使用注意

    小妮浅浅小妮浅浅2021-08-20 09:48:59原创2903

    使用注意

    1、数据文件本身就是索引文件。

    2、表数据文件本身就是按B+Tree组织的索引结构文件。

    3、聚集索引中叶节点包含了完整的数据记录。

    4、InnoDB表必须要有主键,并且推荐使用整型自增主键。

    实例。

    [root@yejr.me]# innodb_space -s ibdata1 -T innodb/t1 -p 3 page-dump
    ...
    records:
    {:format=>:compact,
     :offset=>127,
     :header=>
      {:next=>263,
       :type=>:conventional,
       :heap_number=>2,
       :n_owned=>0,
       :min_rec=>false,
       :deleted=>false,
       :nulls=>[],
       :lengths=>{"c2"=>36, "c3"=>72},
       :externs=>[],
       :length=>7},
     :next=>263,
     :type=>:clustered,
     #第一条物理记录,id=1
     :key=>[{:name=>"id", :type=>"INT UNSIGNED", :value=>1}],
     :row=>
      [{:name=>"c1", :type=>"INT UNSIGNED", :value=>777},
       {:name=>"c2",
        :type=>"VARCHAR(400)",
        :value=>"a1c1a7c7-bda5-11e9-8476-0050568bba82"},
       {:name=>"c3",
        :type=>"VARCHAR(400)",
        :value=>
         "a1c1a7c7-bda5-11e9-8476-0050568bba82a1c1aec5-bda5-11e9-8476-0050568bba82"}],
     :sys=>
      [{:name=>"DB_TRX_ID", :type=>"TRX_ID", :value=>10950},
       {:name=>"DB_ROLL_PTR",
        :type=>"ROLL_PTR",
        :value=>
         {:is_insert=>true,
          :rseg_id=>119,
          :undo_log=>{:page=>469, :offset=>272}}}],
     :length=>129,
     :transaction_id=>10950,
     :roll_pointer=>
      {:is_insert=>true, :rseg_id=>119, :undo_log=>{:page=>469, :offset=>272}}}

    以上就是mysql InnoDB索引的使用注意,希望对大家有所帮助。更多mysql学习指路:MySQL

    推荐操作系统:windows7系统、mysql5.8、DELL G3电脑

    专题推荐:mysql innodb索引
    品易云
    上一篇:mysql char和varchar的比较 下一篇:mysql死锁的检测

    相关文章推荐

    • mysql查询日志的使用• mysql二进制日志是什么• mysql二进制日志有哪些作用• mysql二进制日志如何开启• mysql查看二进制日志的方法• mysql二进制日志的参数介绍• mysql外键约束的理解• mysql绑定变量是什么• mysql绑定变量有哪些限制• mysql表中插入数据的两种方法• mysql查看表结构的两种方法• mysql页的概念分析• mysql架构的组成• mysql char和varchar的比较

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网