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

     

     

     

     备注:

  • 相关阅读:
    unitTest单元测试框架
    Day06_页面发布与课程管理
    Day05_RabbitMQ研究
    Day04_页面静态化
    Day04_freemarker
    Day03_CMS页面管理开发
    Java概述练习题
    01_语言概述
    00_编程入门
    德道经
  • 原文地址:https://www.cnblogs.com/shixm/p/7115053.html
Copyright © 2011-2022 走看看