大字段類型
Mysql中的text/blob/longtext/longblob/varchar(8192)等佔用較大存儲空間的字段類型;
影響
- 佔用大量的存儲空間。因爲每個大字段溢出的數據都會存儲在單獨頁中(存儲獨享),現象就是佔用的存儲空間遠超過實際的數據量;
- 讀寫性能下降。相同的內存能夠緩存的記錄變少(佔用的頁變多);
優化方式
方式1: 壓縮&壓縮:將多個大字段合併成一個,並進行壓縮;
方式2: 拆分:將大字段存儲到單獨的表中;
行溢出off-page
定義: 數據庫一條記錄太大,導致innoDB單頁無法存儲,產生溢出;
原因: InnoDB頁的大小默認爲16KB,由於採用B+樹結構存儲,每個葉子節點最少存儲兩條記錄,因此每條記錄最多不能超過8KB,否則會發生行溢出;
參考: