MYSQL LIMIT 性能测试
查询语句
# 普通表
SELECT * FROM test_page LIMIT m,n
# 内存表
SELECT * FROM test_page_memory LIMIT m,n
总结
查询位置(Offset,Size) | 普通表(查询时间) | 内存表(查询时间) |
---|---|---|
100,100 | 0.004s | 0.001s |
1000,100 | 0.004s | 0.001s |
10000,100 | 0.007s | 0.001s |
100000,100 | 0.031s | 0.007s |
200000,100 | 0.06s | 0.016s |
300000,100 | 0.084s | 0.02s |
400000,100 | 0.112s | 0.026s |
500000,100 | 0.138s | 0.031s |
600000,100 | 0.166s | 0.037s |
700000,100 | 0.19s | 0.044s |
800000,100 | 0.218s | 0.051s |
900000,100 | 0.243s | 0.055s |
1000000,100 | 0.27s | 0.059s |
总的来说,在百万级数据情况下,使用 LIMIT 速度还是可以接受的。
内存表比普通表性能提升 3-5 倍左右。