最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

幾個縮減MySQL以節(jié)省磁盤空間的建議

 更新時間:2015年05月07日 15:39:02   投稿:goldensun  
這篇文章主要介紹了幾個縮減MySQL以節(jié)省磁盤空間的建議,主要從表結構和存儲內(nèi)容兩個方面來談減容,需要的朋友可以參考下

我們在工作中時常會遇到一些客戶的TPS\QPS都不太高,但磁盤占用非常大,一旦單實例空間太大,像內(nèi)存、網(wǎng)絡、CPU以及備份都將增加相應的開銷??赡軆H僅是由于空間不滿足使得我們不得不進行擴容,下面的方法提供給大家參考。有則改之無則加勉。
1、表結構設計上
1) 字符集是否遵循了最小化原則?(能用latin的就不用gbk。能用gbk的就不用utf8)
2) 索引上是否有濫用?(根本不使用的字段建索引、不適合建索引的字段建索引、重復建索引或者不能很好的利用前綴索引等)
3) 冗余字段是否太多?(各表中不用的或者字段冗余太多)
4) 不正確的字段類型?(能用1個字節(jié)非要用幾個字節(jié),像枚舉類、狀態(tài)類比較常見)
5) 將較長的字段或者幾個字段組合做為主鍵?(主鍵最好用mysql自增)
具體事例如下:

CREATE TABLE `class_meta` (
`class_name` varchar(128) NOT NULL COMMENT '類名',
`class_desc` varchar(2048) default '' COMMENT '類的描述',
`class_status` char(20) default 'test1' COMMENT 'test1,test2',
PRIMARY KEY (`class_name`),
UNIQUE KEY `cm_cn_uk` (`class_name`),
KEY `cm_cd_ind` (`class_desc`(767)),
KEY `cm_cs_ind` (`class_status`),
KEY `cm_cdcn_ind` (`class_desc`(767),`class_name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='meta信息';

通過上面的表結構能看到如下地方不合適
1、主鍵與唯一索引明顯重復,索引cm_cd_ind與索引cm_cdcn_ind索引重復(這種情況經(jīng)常出現(xiàn),大家留意下)
2、cm_cs_ind如果兩個狀態(tài)分布均勻也明顯不合適建索引
3、class_desc由于是描述性質(zhì)的,也不合適建索引
4、最好以自增做為主鍵,可以減少整表的空間
5、class_status列明顯可以用tinyint來存,可以省下19個字節(jié)

2、存儲內(nèi)容上
1) 是否將圖片、視頻、音樂等大數(shù)據(jù)存儲在表中?(表里最好只保留路徑而不是實際的文件內(nèi)容)
3、數(shù)據(jù)保留上
1)是否有已過期而未刪除的數(shù)據(jù)?(對于無效數(shù)據(jù)及時清理或者進行歷史歸檔)
4、后期維護上
1)是否對經(jīng)常刪除的表進行維護(optimize table)

建議:
1、在性能要求不高的case中(并發(fā)不太高),可以考慮使用壓縮表。一般壓縮率在30%-70%之間,收益非??捎^。
2、對于刪除非常頻繁的表要定期進行優(yōu)化,使表中碎片減少。提高查詢、寫入的性能。
3、在表結構設計上,一定要發(fā)揚“斤斤計較”的精神,能用1個字節(jié)表示的堅決不用2個字節(jié)。
4、盡量減少大字段的使用。

ps:經(jīng)常在跟開發(fā)評審表結構的時候,時常會被笑話說DBA太摳門,一點都不大氣。當數(shù)據(jù)量小的時候可能大家不覺得,但當你的數(shù)據(jù)級到T或者P的時候,哪怕多省幾個字節(jié)都是非??捎^的,給大家簡單算筆賬,如果我們將一張5億條記錄的表,字段從100個字節(jié)降到60個字節(jié)(應該很容易做到吧),那么不算上索引將節(jié)約大約18G的空間。

相關文章

  • MySQL設置表自增步長的方法

    MySQL設置表自增步長的方法

    自增字段是一種常見且重要的功能,通常用于生成唯一的標識符,本文主要介紹了MySQL設置表自增步長的方法,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • MySQL使用ReplicationConnection導致連接失效解決

    MySQL使用ReplicationConnection導致連接失效解決

    這篇文章主要為大家介紹了MySQL使用ReplicationConnection導致連接失效問題分析解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • mysql中的int類型對應于java中的Long類型詳解

    mysql中的int類型對應于java中的Long類型詳解

    這篇文章主要介紹了mysql中的int類型對應于java中的Long類型,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 解決阿里云ECS服務器下安裝MySQL無法遠程連接的問題

    解決阿里云ECS服務器下安裝MySQL無法遠程連接的問題

    這篇文章介紹了解決阿里云ECS服務器安裝MySQL無法遠程連接的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • mysql遠程登錄root賬戶報錯1045的解決

    mysql遠程登錄root賬戶報錯1045的解決

    這篇文章主要介紹了mysql遠程登錄root賬戶報錯1045的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • MySQL5.7.35雙主搭建的實現(xiàn)

    MySQL5.7.35雙主搭建的實現(xiàn)

    本文介紹了配置MySQL5.7.35的雙主復制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-03-03
  • 深入了解mysql長事務

    深入了解mysql長事務

    這篇文章主要介紹了mysql長事務的相關資料,幫助大家更好的理解和學習mysql,感興趣的朋友可以了解下
    2020-08-08
  • MySql存儲過程和游標的使用實例

    MySql存儲過程和游標的使用實例

    我們在實際的開發(fā)中會遇到一些統(tǒng)計的業(yè)務功能,如果我實時的去查詢的話有時候會很慢,此時我們可以寫一個存儲過程來實現(xiàn),下面這篇文章主要給大家介紹了關于MySql存儲過程和游標使用的相關資料,需要的朋友可以參考下
    2022-04-04
  • mysql配置模板(my-*.cnf)參數(shù)詳細說明

    mysql配置模板(my-*.cnf)參數(shù)詳細說明

    這篇文章主要介紹了mysql配置模板就是mysql的配置文件參數(shù)說明,需要的朋友可以參考下
    2015-01-01
  • mysql使用source 命令亂碼問題解決方法

    mysql使用source 命令亂碼問題解決方法

    從windows上導出一個sql執(zhí)行文件,再倒入到unbutn中,結果出現(xiàn)亂碼,折騰7-8分鐘,解決方式在導出mysql sql執(zhí)行文件的時候,指定一下編碼格式
    2013-04-04

最新評論

宁陵县| 普兰店市| 乐都县| 河北区| 志丹县| 襄垣县| 历史| 上蔡县| 抚远县| 肇东市| 缙云县| 鹤山市| 岳阳县| 敖汉旗| 长汀县| 湘潭市| 泰和县| 宜丰县| 平湖市| 绿春县| 友谊县| 太保市| 罗江县| 昌平区| 玉溪市| 玉山县| 上思县| 莆田市| 腾冲县| 安多县| 屏山县| 武强县| 塔河县| 来安县| 衡南县| 金山区| 黔西县| 民勤县| 溆浦县| 托克逊县| 上杭县|