V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
lxk11153
V2EX  ›  MySQL

mysql 数据压缩 / 存储整理 ?

  •  
  •   lxk11153 · 2020-08-07 14:00:33 +08:00 · 1858 次点击
    这是一个创建于 1601 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 这样吗?DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPRESSED;
    • 改了后是非需要类似 sqlite 执行VACUUM命令做磁盘整理?

    The VACUUM command rebuilds the database file, repacking it into a minimal amount of disk space.

    • 如何估算该表所占磁盘空间?
    10 条回复    2020-08-08 17:14:44 +08:00
    julyclyde
        1
    julyclyde  
       2020-08-07 14:08:02 +08:00
    InnoDB 好像不能 vacuum 吧
    julyclyde
        2
    julyclyde  
       2020-08-07 14:08:35 +08:00
    你是指 optimize table 命令吗?
    lxk11153
        3
    lxk11153  
    OP
       2020-08-07 14:19:26 +08:00
    @julyclyde #1 vacuum 是 sqlite 里的,我这里是类比啊。mysql 里也有吗?
    #2 note: Table does not support optimize, doing recreate + analyze instead
    error: The table 'xxx' is full
    status: Operation failed
    mahone3297
        4
    mahone3297  
       2020-08-07 14:20:48 +08:00
    CHARSET 不用指定,直接 alter table ROW_FORMAT 改就好
    效果我测试了,还是不错的,你可以试试。但是性能有多少衰减,我就不知道了。。。
    lxk11153
        5
    lxk11153  
    OP
       2020-08-07 14:23:40 +08:00
    @mahone3297 #4 嗯,CHARSET 不用。我那行也不是修改语句,是我建表语句里抠出来的,大家懂意思就行。不要在意细节[doge]
    wakzz
        6
    wakzz  
       2020-08-08 09:59:40 +08:00 via Android
    mysl 的 COMPRESSED 其实是不建议使用的,该格式会令 mysql 的吞吐量降低 90%,而压缩率只有 50%,性价比极低。
    lxk11153
        7
    lxk11153  
    OP
       2020-08-08 11:21:12 +08:00
    @wakzz #6 关键 2 3 问题没人答 [doge]
    wakzz
        8
    wakzz  
       2020-08-08 16:49:18 +08:00
    @lxk11153 用 mysql 来压缩数据本来就是个伪命题,还不如程序来压缩数据,然后把压缩数据存到 mysql 。
    wakzz
        9
    wakzz  
       2020-08-08 16:51:04 +08:00
    @lxk11153 至于问题二不清楚,问题三我上面也回答了,mysql 的 COMPRESSED 格式的压缩率大概在 50%左右,以 TPS 和 QPS 降低 90%的代价,省下 50%的磁盘存储空间。
    lxk11153
        10
    lxk11153  
    OP
       2020-08-08 17:14:44 +08:00
    @wakzz #9 想查多少磁盘空间,而不是知道百分比 [doge]。比如写入 1kw 条,查到占用 1G,写入 2kw 条查到占用 1.5G
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1049 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:34 · PVG 03:34 · LAX 11:34 · JFK 14:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.