建立如此结构的数据表,并插入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%模式在有索引和没索引的情况一样。
