前言: 網上關於一張mysql表最多可以創建多少個索引?基本就是兩種答案,一種是不限制,一種是16列, 我認為16的由來應該網上傳着傳着給扭曲, 因為mysql的單個索引最多能包括16列,但是這個是一個索引包含幾列的答案而不是一張可以建多少個索引.真的是誤導人啊! 為此我一頓好找終於在官網找到了權威答案, 現將mysql表的一些限制做一個總結, 希望能幫到對此有困惑的朋友們, 有用就贊下啦 ~_~
因為mysql的一些限制跟具體存儲引擎有關,為此以下只列出我們最常用的innoDB和myisam,其他存儲引擎的具體限制可以去官網找.
- innoDB: 最多創建1017列, 最多64個二級索引, 單個索引最多包含16列, 索引最大長度767字節(其實行格式為REDUNDANT,COMPACT最高為767字節,但行格式為DYNAMIC,COMPRESSED最高可達為3072字節), 行大小最大65536字節
- mysiam: 最多4096列, 最多64個二級索引, 單個索引最多包含16列, 索引最大長度1000字節, 行大小最大65536字節