建立如此結構的數據表,並插入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%模式在有索引和沒索引的情況一樣。