測試開始:
一、我們首先繼續按上篇部落格的資料來進行測試
有上面的效果對比我們可以看得出來,當索引字段沒有設定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 ...