这篇文章主要讲解了“mysql InnoDB索引的使用要注意什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql InnoDB索引的使用要注意什么”吧!
使用注意
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}}}