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

     

     

     

     备注:

  • 相关阅读:
    UML基本关系
    C++关键字简述
    Install opencv on Centos
    C++编程规范
    YCbCr to RGB and RGB toYCbCr
    Linux目录结构(二)
    Dubbo工作流程
    spring bean的作用域和生命周期
    spring aop原理和实现
    静态代理、jdk动态代理、cglib动态代理
  • 原文地址:https://www.cnblogs.com/shixm/p/7115053.html
Copyright © 2011-2022 走看看