日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

mysql索引之八:myisam压缩(前缀压缩)索引

發布時間:2023/12/13 综合教程 25 生活家
生活随笔 收集整理的這篇文章主要介紹了 mysql索引之八:myisam压缩(前缀压缩)索引 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

 myisam使用前綴壓縮來減少索引的大小,從而讓更多的索引可以放入內存中,默認只壓縮字符串,但通過參數配置也可以對整數做壓縮,myisam壓縮每個索引塊的方法是,先完全保存索引塊中的第一個值,然后將其他值和第一個值進行比較得到相同前綴的字節數(長度)和剩余的不同后綴部分(即把相同部分去掉),把這部分存儲起來即可(相同前綴長度和不同后綴部分字符串)。如:索引塊中的第一個值是perform,第二個是performance,那么第二個值的前綴壓縮后存儲的是類似7,ance,這樣的形式,myisam對行指針也采用類似的前綴壓縮方式。

  壓縮塊使用更少的空間,代價是某些操作可能更慢,因為每個值的壓縮前綴都依賴于前面的值,所以myisam查找時無法在索引塊使用二分查找而只能從頭開始掃描,正序的掃描速度還不錯,但如果是倒序掃描,如:order by desc就不是很好了,所有在塊中查找某一行的操作平均都需要掃描半個索引塊。

  測試表明,對于CPU密集型應用,因為掃描需要隨機查找,壓縮索引使得myisam在索引查找上要慢好幾倍,壓縮索引的倒序掃描就更慢了,壓縮索引需要在CPU內存資源與磁盤之間做權衡,壓縮索引可能只需要十分之一大小的磁盤,如果是IO密集型應用,對于某些查詢帶來的好處會比成本多很多。即壓縮索引適合IO密集型應用,不太適合CPU密集型應用。

可以在create table語句中指定pack_keys參數來控制myisam表的索引壓縮方式:

PACK_KEYS [=] {0 | 1 | DEFAULT}

0:  表示關閉索引壓縮

1:  表示開啟數字和字符串壓縮

default:表示只壓縮超長字符串char和varchar列

如果建表時不指定這個選項,那么默認只壓縮字符串,不壓縮數字

總結

以上是生活随笔為你收集整理的mysql索引之八:myisam压缩(前缀压缩)索引的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。