【原创】表字段顺序对效率的是否有影响?
最近看到网上对表字段的顺序对性能方面都否有影响产生了一些争论,之前我一直以为没有影响呢,但是有的文章说确实是有影响,而且都已经进行了举例【针对ORACLE数据库的】,这个咱们先暂且不讨论,先看看Mysql数据库怎么样吧,为此,我对照着做了一些实验【TP5框架下进行的实验】!
// 创建test数据表,包含有251个字段$num = 250;$col_sql = ”;for($i=1; $i<=250; $i++){$col_sql .= ‘`col_’.$i.‘` int(11) UNSIGNED ZEROFILL NOT NULL DEFAULT 1,’;}$sql = ‘CREATE TABLE `test` (`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT ,’.$col_sql.‘PRIMARY KEY (`id`));’;$res = Db::query($sql);// 创建10000条数据$insert_num = 10000;$insert_sql = ”;for($j=1; $j<=10000; $j++){if($j < 10000){$insert_sql .= ‘(‘.$j.‘),’;}else{$insert_sql .= ‘(‘.$j.‘)’;}}$sql = ‘INSERT INTO `test` (`id`) VALUES ‘.$insert_sql.‘;’;$res = Db::query($sql);
// 对数据进行时间统计$total_num = 251;for($i=0; $i<$total_num; $i++){if($i==0){$sql = ‘SELECT `id` from test’;}else{$sql = ‘SELECT `col_’.$i.‘` from test’;}// 计算一条SQL执行所消耗的时间$start_time = getMicrotime()*1000;Db::query($sql);$end_time = getMicrotime()*1000;$diff_time = round(($end_time – $start_time),3);if($i == 0){echo ‘查询ID(10000)所需要消耗的时间为:’.$diff_time.‘毫秒<br>’;}else{echo ‘查询col_’.$i.‘(10000)所需要消耗的时间为:’.$diff_time.‘毫秒<br>’;}}/*** 获取microtime* @return float*/function getMicrotime(){list ($usec, $sec) = explode(‘ ‘, microtime());return (float) $usec + (float) $sec;}
最终的结果为【从结果中可以看出,对于Mysql数据库而言,字段的排序对其并没有什么影响】:
查询ID(10000)所需要消耗的时间为:24.099毫秒 查询col_1(10000)所需要消耗的时间为:27.574毫秒 查询col_2(10000)所需要消耗的时间为:31.291毫秒 查询col_3(10000)所需要消耗的时间为:27.729毫秒 查询col_4(10000)所需要消耗的时间为:29.211毫秒 查询col_5(10000)所需要消耗的时间为:27.116毫秒 查询col_6(10000)所需要消耗的时间为:33.234毫秒 查询col_7(10000)所需要消耗的时间为:28.309毫秒 查询col_8(10000)所需要消耗的时间为:29.765毫秒 查询col_9(10000)所需要消耗的时间为:29.712毫秒 查询col_10(10000)所需要消耗的时间为:31.24毫秒 查询col_11(10000)所需要消耗的时间为:28.365毫秒 查询col_12(10000)所需要消耗的时间为:26.789毫秒 查询col_13(10000)所需要消耗的时间为:29.114毫秒 查询col_14(10000)所需要消耗的时间为:28.206毫秒 查询col_15(10000)所需要消耗的时间为:29.154毫秒 查询col_16(10000)所需要消耗的时间为:27.629毫秒 查询col_17(10000)所需要消耗的时间为:28.77毫秒 查询col_18(10000)所需要消耗的时间为:28.901毫秒 查询col_19(10000)所需要消耗的时间为:32.723毫秒 查询col_20(10000)所需要消耗的时间为:28.174毫秒 查询col_21(10000)所需要消耗的时间为:28.48毫秒 查询col_22(10000)所需要消耗的时间为:27.845毫秒 查询col_23(10000)所需要消耗的时间为:31.359毫秒 查询col_24(10000)所需要消耗的时间为:27.575毫秒 查询col_25(10000)所需要消耗的时间为:30.548毫秒 查询col_26(10000)所需要消耗的时间为:29.412毫秒 查询col_27(10000)所需要消耗的时间为:29.217毫秒 查询col_28(10000)所需要消耗的时间为:29.925毫秒 查询col_29(10000)所需要消耗的时间为:28.923毫秒 查询col_30(10000)所需要消耗的时间为:29.294毫秒 查询col_31(10000)所需要消耗的时间为:37.271毫秒 查询col_32(10000)所需要消耗的时间为:40.41毫秒 查询col_33(10000)所需要消耗的时间为:38.851毫秒 查询col_34(10000)所需要消耗的时间为:37.675毫秒 查询col_35(10000)所需要消耗的时间为:37.305毫秒 查询col_36(10000)所需要消耗的时间为:39.899毫秒 查询col_37(10000)所需要消耗的时间为:33.219毫秒 查询col_38(10000)所需要消耗的时间为:32.521毫秒 查询col_39(10000)所需要消耗的时间为:32.663毫秒 查询col_40(10000)所需要消耗的时间为:31.994毫秒 查询col_41(10000)所需要消耗的时间为:33.145毫秒 查询col_42(10000)所需要消耗的时间为:31.133毫秒 查询col_43(10000)所需要消耗的时间为:32.611毫秒 查询col_44(10000)所需要消耗的时间为:33.546毫秒 查询col_45(10000)所需要消耗的时间为:30.568毫秒 查询col_46(10000)所需要消耗的时间为:28.081毫秒 查询col_47(10000)所需要消耗的时间为:30.779毫秒 查询col_48(10000)所需要消耗的时间为:30.998毫秒 查询col_49(10000)所需要消耗的时间为:31.189毫秒 查询col_50(10000)所需要消耗的时间为:34.175毫秒 查询col_51(10000)所需要消耗的时间为:28.895毫秒 查询col_52(10000)所需要消耗的时间为:30.544毫秒 查询col_53(10000)所需要消耗的时间为:34.756毫秒 查询col_54(10000)所需要消耗的时间为:32.3毫秒 查询col_55(10000)所需要消耗的时间为:30.175毫秒 查询col_56(10000)所需要消耗的时间为:30.309毫秒 查询col_57(10000)所需要消耗的时间为:30.107毫秒 查询col_58(10000)所需要消耗的时间为:31.429毫秒 查询col_59(10000)所需要消耗的时间为:27.972毫秒 查询col_60(10000)所需要消耗的时间为:33.271毫秒 查询col_61(10000)所需要消耗的时间为:31.254毫秒 查询col_62(10000)所需要消耗的时间为:32.16毫秒 查询col_63(10000)所需要消耗的时间为:31.103毫秒 查询col_64(10000)所需要消耗的时间为:30.659毫秒 查询col_65(10000)所需要消耗的时间为:30.317毫秒 查询col_66(10000)所需要消耗的时间为:30.712毫秒 查询col_67(10000)所需要消耗的时间为:30.824毫秒 查询col_68(10000)所需要消耗的时间为:34.848毫秒 查询col_69(10000)所需要消耗的时间为:31.697毫秒 查询col_70(10000)所需要消耗的时间为:30.729毫秒 查询col_71(10000)所需要消耗的时间为:28.952毫秒 查询col_72(10000)所需要消耗的时间为:31.701毫秒 查询col_73(10000)所需要消耗的时间为:32.991毫秒 查询col_74(10000)所需要消耗的时间为:37.569毫秒 查询col_75(10000)所需要消耗的时间为:39.573毫秒 查询col_76(10000)所需要消耗的时间为:32.746毫秒 查询col_77(10000)所需要消耗的时间为:27.621毫秒 查询col_78(10000)所需要消耗的时间为:29.953毫秒 查询col_79(10000)所需要消耗的时间为:29毫秒 查询col_80(10000)所需要消耗的时间为:30.215毫秒 查询col_81(10000)所需要消耗的时间为:33.638毫秒 查询col_82(10000)所需要消耗的时间为:31.065毫秒 查询col_83(10000)所需要消耗的时间为:29.292毫秒 查询col_84(10000)所需要消耗的时间为:28.892毫秒 查询col_85(10000)所需要消耗的时间为:30.576毫秒 查询col_86(10000)所需要消耗的时间为:31.327毫秒 查询col_87(10000)所需要消耗的时间为:27.674毫秒 查询col_88(10000)所需要消耗的时间为:28.939毫秒 查询col_89(10000)所需要消耗的时间为:28.025毫秒 查询col_90(10000)所需要消耗的时间为:27.236毫秒 查询col_91(10000)所需要消耗的时间为:30.401毫秒 查询col_92(10000)所需要消耗的时间为:30.796毫秒 查询col_93(10000)所需要消耗的时间为:30.309毫秒 查询col_94(10000)所需要消耗的时间为:28.27毫秒 查询col_95(10000)所需要消耗的时间为:30.051毫秒 查询col_96(10000)所需要消耗的时间为:28.839毫秒 查询col_97(10000)所需要消耗的时间为:29.29毫秒 查询col_98(10000)所需要消耗的时间为:28.013毫秒 查询col_99(10000)所需要消耗的时间为:31.149毫秒 查询col_100(10000)所需要消耗的时间为:29.729毫秒 查询col_101(10000)所需要消耗的时间为:29.745毫秒 查询col_102(10000)所需要消耗的时间为:29.255毫秒 查询col_103(10000)所需要消耗的时间为:32.155毫秒 查询col_104(10000)所需要消耗的时间为:27.378毫秒 查询col_105(10000)所需要消耗的时间为:29.071毫秒 查询col_106(10000)所需要消耗的时间为:27.976毫秒 查询col_107(10000)所需要消耗的时间为:29.647毫秒 查询col_108(10000)所需要消耗的时间为:29.846毫秒 查询col_109(10000)所需要消耗的时间为:29.994毫秒 查询col_110(10000)所需要消耗的时间为:30.866毫秒 查询col_111(10000)所需要消耗的时间为:30.553毫秒 查询col_112(10000)所需要消耗的时间为:27.914毫秒 查询col_113(10000)所需要消耗的时间为:28.387毫秒 查询col_114(10000)所需要消耗的时间为:28.754毫秒 查询col_115(10000)所需要消耗的时间为:33.208毫秒 查询col_116(10000)所需要消耗的时间为:31.563毫秒 查询col_117(10000)所需要消耗的时间为:37.66毫秒 查询col_118(10000)所需要消耗的时间为:34.633毫秒 查询col_119(10000)所需要消耗的时间为:39.891毫秒 查询col_120(10000)所需要消耗的时间为:32.619毫秒 查询col_121(10000)所需要消耗的时间为:30.718毫秒 查询col_122(10000)所需要消耗的时间为:29.524毫秒 查询col_123(10000)所需要消耗的时间为:29.554毫秒 查询col_124(10000)所需要消耗的时间为:27.999毫秒 查询col_125(10000)所需要消耗的时间为:28.482毫秒 查询col_126(10000)所需要消耗的时间为:30.69毫秒 查询col_127(10000)所需要消耗的时间为:31.793毫秒 查询col_128(10000)所需要消耗的时间为:29.575毫秒 查询col_129(10000)所需要消耗的时间为:28.077毫秒 查询col_130(10000)所需要消耗的时间为:29.928毫秒 查询col_131(10000)所需要消耗的时间为:29.002毫秒 查询col_132(10000)所需要消耗的时间为:29.544毫秒 查询col_133(10000)所需要消耗的时间为:28.06毫秒 查询col_134(10000)所需要消耗的时间为:27.678毫秒 查询col_135(10000)所需要消耗的时间为:30.225毫秒 查询col_136(10000)所需要消耗的时间为:33.807毫秒 查询col_137(10000)所需要消耗的时间为:29.892毫秒 查询col_138(10000)所需要消耗的时间为:30.322毫秒 查询col_139(10000)所需要消耗的时间为:28.866毫秒 查询col_140(10000)所需要消耗的时间为:29.388毫秒 查询col_141(10000)所需要消耗的时间为:28.704毫秒 查询col_142(10000)所需要消耗的时间为:27.795毫秒 查询col_143(10000)所需要消耗的时间为:29.931毫秒 查询col_144(10000)所需要消耗的时间为:30.989毫秒 查询col_145(10000)所需要消耗的时间为:30.162毫秒 查询col_146(10000)所需要消耗的时间为:30.408毫秒 查询col_147(10000)所需要消耗的时间为:28.183毫秒 查询col_148(10000)所需要消耗的时间为:34.877毫秒 查询col_149(10000)所需要消耗的时间为:29.949毫秒 查询col_150(10000)所需要消耗的时间为:32.613毫秒 查询col_151(10000)所需要消耗的时间为:28.98毫秒 查询col_152(10000)所需要消耗的时间为:32.748毫秒 查询col_153(10000)所需要消耗的时间为:30.453毫秒 查询col_154(10000)所需要消耗的时间为:29.751毫秒 查询col_155(10000)所需要消耗的时间为:30.71毫秒 查询col_156(10000)所需要消耗的时间为:30.798毫秒 查询col_157(10000)所需要消耗的时间为:30.811毫秒 查询col_158(10000)所需要消耗的时间为:28.237毫秒 查询col_159(10000)所需要消耗的时间为:32.314毫秒 查询col_160(10000)所需要消耗的时间为:35.658毫秒 查询col_161(10000)所需要消耗的时间为:38.821毫秒 查询col_162(10000)所需要消耗的时间为:33.828毫秒 查询col_163(10000)所需要消耗的时间为:29.852毫秒 查询col_164(10000)所需要消耗的时间为:31.002毫秒 查询col_165(10000)所需要消耗的时间为:29.165毫秒 查询col_166(10000)所需要消耗的时间为:28.688毫秒 查询col_167(10000)所需要消耗的时间为:30.066毫秒 查询col_168(10000)所需要消耗的时间为:29.365毫秒 查询col_169(10000)所需要消耗的时间为:30.009毫秒 查询col_170(10000)所需要消耗的时间为:28.063毫秒 查询col_171(10000)所需要消耗的时间为:28.646毫秒 查询col_172(10000)所需要消耗的时间为:30.233毫秒 查询col_173(10000)所需要消耗的时间为:28.557毫秒 查询col_174(10000)所需要消耗的时间为:33.74毫秒 查询col_175(10000)所需要消耗的时间为:31.473毫秒 查询col_176(10000)所需要消耗的时间为:31.957毫秒 查询col_177(10000)所需要消耗的时间为:30.549毫秒 查询col_178(10000)所需要消耗的时间为:28.608毫秒 查询col_179(10000)所需要消耗的时间为:30.37毫秒 查询col_180(10000)所需要消耗的时间为:30.234毫秒 查询col_181(10000)所需要消耗的时间为:36.539毫秒 查询col_182(10000)所需要消耗的时间为:37.342毫秒 查询col_183(10000)所需要消耗的时间为:30.916毫秒 查询col_184(10000)所需要消耗的时间为:30.017毫秒 查询col_185(10000)所需要消耗的时间为:30.614毫秒 查询col_186(10000)所需要消耗的时间为:28.465毫秒 查询col_187(10000)所需要消耗的时间为:30.634毫秒 查询col_188(10000)所需要消耗的时间为:29.925毫秒 查询col_189(10000)所需要消耗的时间为:33.156毫秒 查询col_190(10000)所需要消耗的时间为:30.836毫秒 查询col_191(10000)所需要消耗的时间为:31.495毫秒 查询col_192(10000)所需要消耗的时间为:30.745毫秒 查询col_193(10000)所需要消耗的时间为:31.697毫秒 查询col_194(10000)所需要消耗的时间为:31.239毫秒 查询col_195(10000)所需要消耗的时间为:30.521毫秒 查询col_196(10000)所需要消耗的时间为:30.778毫秒 查询col_197(10000)所需要消耗的时间为:30.697毫秒 查询col_198(10000)所需要消耗的时间为:31.235毫秒 查询col_199(10000)所需要消耗的时间为:39.258毫秒 查询col_200(10000)所需要消耗的时间为:38.874毫秒 查询col_201(10000)所需要消耗的时间为:40.053毫秒 查询col_202(10000)所需要消耗的时间为:39.309毫秒 查询col_203(10000)所需要消耗的时间为:41.412毫秒 查询col_204(10000)所需要消耗的时间为:33.818毫秒 查询col_205(10000)所需要消耗的时间为:28.469毫秒 查询col_206(10000)所需要消耗的时间为:27.935毫秒 查询col_207(10000)所需要消耗的时间为:29.505毫秒 查询col_208(10000)所需要消耗的时间为:28.425毫秒 查询col_209(10000)所需要消耗的时间为:29.265毫秒 查询col_210(10000)所需要消耗的时间为:29.901毫秒 查询col_211(10000)所需要消耗的时间为:32.286毫秒 查询col_212(10000)所需要消耗的时间为:30.469毫秒 查询col_213(10000)所需要消耗的时间为:29.789毫秒 查询col_214(10000)所需要消耗的时间为:31.683毫秒 查询col_215(10000)所需要消耗的时间为:37.044毫秒 查询col_216(10000)所需要消耗的时间为:28.815毫秒 查询col_217(10000)所需要消耗的时间为:28.018毫秒 查询col_218(10000)所需要消耗的时间为:30.396毫秒 查询col_219(10000)所需要消耗的时间为:29.34毫秒 查询col_220(10000)所需要消耗的时间为:28.034毫秒 查询col_221(10000)所需要消耗的时间为:29.481毫秒 查询col_222(10000)所需要消耗的时间为:31.43毫秒 查询col_223(10000)所需要消耗的时间为:29.548毫秒 查询col_224(10000)所需要消耗的时间为:28.643毫秒 查询col_225(10000)所需要消耗的时间为:29.672毫秒 查询col_226(10000)所需要消耗的时间为:30.978毫秒 查询col_227(10000)所需要消耗的时间为:30.359毫秒 查询col_228(10000)所需要消耗的时间为:31.084毫秒 查询col_229(10000)所需要消耗的时间为:30.614毫秒 查询col_230(10000)所需要消耗的时间为:29.935毫秒 查询col_231(10000)所需要消耗的时间为:29.707毫秒 查询col_232(10000)所需要消耗的时间为:29.529毫秒 查询col_233(10000)所需要消耗的时间为:30.822毫秒 查询col_234(10000)所需要消耗的时间为:28.927毫秒 查询col_235(10000)所需要消耗的时间为:29.746毫秒 查询col_236(10000)所需要消耗的时间为:29.245毫秒 查询col_237(10000)所需要消耗的时间为:30.589毫秒 查询col_238(10000)所需要消耗的时间为:30.598毫秒 查询col_239(10000)所需要消耗的时间为:30.338毫秒 查询col_240(10000)所需要消耗的时间为:32.362毫秒 查询col_241(10000)所需要消耗的时间为:29.844毫秒 查询col_242(10000)所需要消耗的时间为:29.973毫秒 查询col_243(10000)所需要消耗的时间为:31.623毫秒 查询col_244(10000)所需要消耗的时间为:37.287毫秒 查询col_245(10000)所需要消耗的时间为:41.007毫秒 查询col_246(10000)所需要消耗的时间为:43.614毫秒 查询col_247(10000)所需要消耗的时间为:40.25毫秒 查询col_248(10000)所需要消耗的时间为:28.322毫秒 查询col_249(10000)所需要消耗的时间为:31.816毫秒 查询col_250(10000)所需要消耗的时间为:36.133毫秒