資料庫原理 如何計算mysql索引key len

2021-08-29 13:56:19 字數 997 閱讀 6896

測試開始:

一、我們首先繼續按上篇部落格的資料來進行測試

有上面的效果對比我們可以看得出來,當索引字段沒有設定notnull為true時,需要增加乙個位元組來判斷字段是否為空,而且,int型別字段索引佔4個位元組長。

二、當我把strvalue欄位更改為varchar(255)型別,不可為null時:

更改為varchar(100):

總結:varchar(n)型別索引字段,key_len=n(字元)*3+2(位元組);

更改為char(100)時:

總結:char(n)型別索引字段,key_len=n(字元)*3;

大總結:

1.所有的索引字段,如果沒有設定notnull,則需要加乙個位元組。

2.定長字段,int佔四個位元組、date佔三個位元組、char(n)佔n個字元。

3.對於變長字段varchar(n)來說,還需要占用2個位元組來表示長度資訊,所以有n個字元+兩個位元組。

4.當然我們建立索引的時候還可以制定索引的長度(非空),比方說:

alter table t_test add index index_value(strvalue(100));其中100指的是字元的個數,如果字段型別為utf-8編碼varchar(255),key_len=100*3+2=302;

mysql資料庫索引名 Mysql資料庫索引簡介

1.什麼是索引?資料庫索引是表中的乙個特殊的資料結構,存放的記錄的快速檢索的值,也稱為目錄,被儲存在乙個地方,所以索引是乙個存在的檔案,並不是儲存在記憶體中 索引的存在是為了在查詢時,可以直接通過查詢索引找到那一條記錄所在的位置,而不是逐一的去檢索,大大的提高的查詢的效率 那麼是不是每一列都建立乙個...

如何計算MySQL資料庫大小

據我所知,有兩種計算mysql資料庫大小的方法。總結data length index length等於表的總大小。data length 儲存實際資料。index length 儲存表索引。這是列出整個資料庫大小的sql指令碼 select table schema data base name ...

mysql資料庫原理

mysql資料庫原理 一連線層介紹 1 檢查使用者與密碼正確性,提供乙個於sql層進行互動的執行緒。2 接收sql層sql語句於儲存引擎層互動找到的資料結構化成表的形式進行返回sql層 連線層只要有連線不斷連線層就會一直有 1 接受sql語句並且檢查語法正確性 2 檢查語義 ddl dcl dml ...