MySQL count知多少
统计一个表的数据量是经常遇到的需求,但是不同的表设计及不同的写法,统计性能差别会有较大的差异,下面就简单通过实验进行测试( 大家测试的时候注意缓存的情况,否则影响测试结果 )。 1、 准备工作 为了后续测试工作的进行,先准备几张用于测试的表及数据,为了使测试数据具有参考意义,建议测试表的数据量大一点,以免查询时间太小,因此,可以继续使用之前常用的连续数生成大法,如下: /* 创建连续数表 */ CREATE TABLE nums(id INT primary key); /* 生成连续数的存储过程,优化过后的 */ DELIMITER $$ CREATE PROCEDURE `sp_createNum`(cnt INT ) BEGIN DECLARE i INT DEFAULT 1; TRUNCATE TABLE nums; INSERT INTO nums SELECT i; WHILE i < cnt DO BEGIN INSERT INTO nums SELECT id + i FROM nums WHERE id + i<=cnt; SET i = i*2; END; END WHILE; END$$ DELIMITER ; 生成数据,本次准备生成1kw条记录 /* 调用存储过程 */ mysql> call sp_createNum(10000000); Query OK