• 数据库类型空间效率探索(一)


    经过我的测试,发现

    设置表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、查看占用空间并查询速度

  • 相关阅读:
    C# 获取类似java gettime() 的时间格式
    LUbuntu电脑棒安装指南
    Visual Studio Gallery
    SQL SERVER 分页存储过程
    asp.mvc获取checkbox、radio、select的值
    C#面向对象的一些笔记
    Javascript预解析、作用域、作用域链
    解决ajax请求cors跨域问题
    Asp.Net操作WebServices
    2019年科技趋势前10位
  • 原文地址:https://www.cnblogs.com/shixm/p/5505784.html
Copyright © 2020-2023  润新知