zoukankan      html  css  js  c++  java
  • 数据库类型空间效率探索(一)

    经过我的测试,发现

    设置表userinfo的字段releas

    分别为:varchar(25) default null、varchar(25) not null default ''、char(25) not null default ''

    在数据量44460的时候,表userinfo占用的空间相同,根据releas字段模糊查询的速率相同。

    这是为什么?是数据量太少,还是测试的方式不对,还是其他的原因?

    注:测试环境

    下面是测试的过程,谁能给解释一下?

    1、数据量

    2、表结构

    3、表占用空间

    4、将表转储为sql文件

    表的大小:9.799K

    5、模糊查询releas

    6、修改表releas字段:varchar(25) default null->varchar(25) not null default ''

    7、模糊查询releas

    8、表占用空间

    9、将表转储为sql文件

    10、结论

    通过上面的测试,设置表默认为空或者是not null default '',并没有改变表占用空间的大小与存储的文件的大小与查询速度。

    接下来,接着修改

    11、修改表releas字段:varchar(25) not null default ''->char(25) not null default ''

    12、优化表,并查看表占用空间

    13、模糊查询

    14、导出sql文件

    于2016年5月18号下午4点在公司测试

    ---------------------------------------------------------------------------------------------

    今天是2016年5月21号上午11点,周六在家里面,此时想再次走一下上面的流程,此次不同的是,我将计算的大小精确到6位并四舍五入(round)而不是截取(truncate)。

    测试环境:

    测试结果:

    表占用的空间还是没有随着char、varchar的改变而改变。

    测试总体速度要远慢与公司测试的速度(我想有两个原因,一个电脑、一个是mysql版本)。

    varchar(25) default null:0.13sec

    varchar(25) not null default '':0.08sec

    char(25) not null default '':0.09sec

    测试步骤如下。

    1、将公司的sql文件导入我的笔记本电脑,查看表信息(数据量、表结构、占用空间),确保和公司里面一样。

    2、查询速度

    3、修改表releas字段:varchar(25) default null->varchar(25) not null default ''

    4、查看占用空间并查询速度

    5、修改表releas字段:varchar(25) not null default ''->char(25) not null default ''

    6、查看占用空间并查询速度

  • 相关阅读:
    Good Bye 2014 B. New Year Permutation(floyd )
    hdu 5147 Sequence II (树状数组 求逆序数)
    POJ 1696 Space Ant (极角排序)
    POJ 2398 Toy Storage (叉积判断点和线段的关系)
    hdu 2897 邂逅明下 (简单巴什博弈)
    poj 1410 Intersection (判断线段与矩形相交 判线段相交)
    HDU 3400 Line belt (三分嵌套)
    Codeforces Round #279 (Div. 2) C. Hacking Cypher (大数取余)
    Codeforces Round #179 (Div. 2) B. Yaroslav and Two Strings (容斥原理)
    hdu 1576 A/B (求逆元)
  • 原文地址:https://www.cnblogs.com/shixm/p/5505784.html
Copyright © 2011-2022 走看看