zoukankan      html  css  js  c++  java
  • 数据库类型空间效率探索(五)- decimal/float/double/varchar

    以下测试为userinfo增加一列,列类型分别为decimal、float、double、varchar。由于innodb不支持optimize,所以每次测试,都会删除表test.userinfo,重新拷贝swanfly.userinfo->test.userinfo,原始userinfo表data_size为28.562MB,data_free为4.000MB。

    具体测试流程如下

    查看表数据量(data_size)

    select concat(truncate(sum(data_length)/1024/1024,3),'MB') as data_size,
    concat(truncate(sum(max_data_length)/1024/1024,3),'MB') as max_data_length,
    concat(truncate(sum(data_free)/1024/1024,3),'MB') as data_free,
    concat(truncate(sum(index_length)/1024/1024,3),'MB') as index_length
    from information_schema.tables where table_name='userinfo';

    Decimal

     为表添加decimal列

    ALTER TABLE `userinfo`
    ADD COLUMN `molecularWeight` decimal(10,6) UNSIGNED NOT NULL DEFAULT 0 AFTER `integral`;

     查看表数据量(data_size)

     为decimal列赋值

     查看表数据量(data_size)

     

    结论:

    在13万条数据的表中,添加一decimal(10,6)类型的列,会多占用5M左右空间。继续插入数据,表占用空间不变。

    Float

     

    Double

    Varchar

     

     

     

     备注:

  • 相关阅读:
    详解mysql int类型的长度值问题
    linux的作业控制(job control)
    Linux环境变量的设置和查看方法
    gearman入门初步
    VIM 乱码终极解决
    android系统通过图片绝对路径获取URI的三种方法
    Buck电路调试
    第二次画板
    1 第一次画PCB总结
    一起学习模拟电路之1
  • 原文地址:https://www.cnblogs.com/shixm/p/7115053.html
Copyright © 2011-2022 走看看