這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎樣使用MySQL innodb查看索引高度,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
香格里拉網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),香格里拉網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為香格里拉上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的香格里拉做網(wǎng)站的公司定做!
首先獲取表上的索引情況
mysql> SELECT b.name, a.name, index_id, type, a.space, a.PAGE_NO FROM information_schema.INNODB_SYS_INDEXES a, information_schema.INNODB_SYS_TABLES b WHERE a.table_id = b.table_id AND a.space<> 0 and b.name='ming/test02'; +-------------+---------------+----------+------+-------+---------+ | name | name | index_id | type | space | PAGE_NO | +-------------+---------------+----------+------+-------+---------+ | ming/test02 | PRIMARY | 71 | 3 | 44 | 3 | | ming/test02 | idx_test02_c2 | 400 | 0 | 44 | 39 | +-------------+---------------+----------+------+-------+---------+ 2 rows in set (0.85 sec)
type:
0 是非唯一二級索引。
3是聚簇索引。
1是automatically generated clustered index (GEN_CLUST_INDEX
);
2是unique nonclustered index;唯一的非聚簇索引
32是全文索引。
查詢innodb頁的大小
mysql> show global variables like 'innodb_page_size'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | innodb_page_size | 16384 | +------------------+-------+ 1 row in set (0.67 sec)
接下來要用到操作系統(tǒng)命令hexdump,以十六進(jìn)制查看文件
語法
hexdump [選項] [文件]...
選項
-n length 只格式化輸入文件的前l(fā)ength個字節(jié)。 -C 輸出規(guī)范的十六進(jìn)制和ASCII碼。 -b 單字節(jié)八進(jìn)制顯示。 -c 單字節(jié)字符顯示。 -d 雙字節(jié)十進(jìn)制顯示。 -o 雙字節(jié)八進(jìn)制顯示。 -x 雙字節(jié)十六進(jìn)制顯示。 -s 從偏移量開始輸出。 -e 指定格式字符串,格式字符串包含在一對單引號中,格式字符串形如:'a/b "format1" "format2"'。
查看索引高度
[root@mdb01 ming]# hexdump -s 49216 -n 10 ./test02.ibd 000c040 0200 0000 0000 0000 4700 000c04a [root@mdb01 ming]# hexdump -s 639040 -n 10 ./test02.ibd 009c040 0200 0000 0000 0000 9001 009c04a
指定的偏移量的計算公式是page_no * innodb_page_size + 64。
49216 = 3 * 16384 +64.
PAGE_LEVEL 的值為 0200,表示這棵二級索引樹的高度為 3(2+1)。
后面的4700和9001是索引的index_id。
操作系統(tǒng)上十六進(jìn)制轉(zhuǎn)十進(jìn)制:
[root@mdb01 ming]# echo $((0x47)) 71 [root@mdb01 ming]# echo $((0x0190)) 400
9001的讀取順序,應(yīng)該是按照兩位為一組,倒著讀,那么也就是01 90
上述就是小編為大家分享的怎樣使用mysql innodb查看索引高度了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站名稱:怎樣使用mysqlinnodb查看索引高度
標(biāo)題URL:http://jinyejixie.com/article46/jjgoeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、App開發(fā)、建站公司、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)