建立如此结构的数据表,并插入110万条随机记录,进行查询性能测试。
插入110万条随机记录后,数据表的大小为102MB。
现在使用phpMyAdmin自带的SQL查询器进行性能分析。
下面进行带索引的模式下查询测试:
A. 随机的字符型字段全匹配查询,用时 0.0005(S)
B.随机的主键查询,用时 0.0005(S)
C.随机的使用字符函数查询,用时 0.4482(S)
D.使用LIKE模式一查询,用时 0.0007(S)
E.使用LIKE模式二查询,用时 0.7361(S)
下面是删除了索引的情况下进行测试:
A. 随机的字符型字段全匹配查询,用时 0.3439(S)
B.随机的主键查询,用时 0.0004(S)
C.随机的使用字符函数查询,用时 0.4882(S)
D.使用LIKE模式一查询,用时 0.3487(S)
E.使用LIKE模式二查询,用时 0.7339(S)
结论:
对字段进行简单查询的情况下,如果字段建立了索引,查询速度远快于没有建索引的情况。使用MySQL函数的查询即使在建立了索引的情况下,速度依然跟没建索引的情况差不多。在使用 LIKE的 xxx%模式时候,有索引的情况远比没索引的要快,但 %xxx%模式在有索引和没索引的情况一样。