测试了一把Mysql中的char和varchar在不使用索引和使用索引下的效率。
硬件配置:windows主机,双核,4g内存,搭载mysql5.1。
测试步骤一:创建两张表。。b2b和b2b2,,他们都具有两个字段,id自增长、主键、int类型,b2bname在b2b表中使用的是Varchar(255),在b2b2表中使用的是char(255)。
步骤二:创建插入大量数据的存储过程。
步骤三:添加测试数据,我分别调用了存储过程,都是插入100万条数据,b2b使用的时间是1 min 23 sec,占用的磁盘空间为90605KB。b2b2使用的时间是1 Min 5.23 sec,占用的磁盘空间是 751954KB。插入所花费的时间两者差距不算太明显,但是数据大小就有很大区别了,b2b2明显要大的多。
步骤四:测试查询的时间,分别在这两个表中执行相同的sql,b2b要比b2b2花费的时间少的多。
步骤五:分别创建索引,b2b2要比b2b花费的时间长 站长教学网 eduyo.com
步骤六:在存在索引的情况下,执行sql查询,依然是b2b要快。
(责任编辑:ken)