我有一个带有大约 40k 条目的表的 mysql 数据库。执行以下语句大约需要 10 秒(已选择数据库):
SELECT * FROM MyTable WHERE Column < 3
为什么这需要这么长时间,我该如何提高性能?
其他数据库更快吗?(例如 MongoDB、CouchDB、...) 不过我更喜欢使用 MySQL 数据库。
编辑:
以下查询...
EXPLAIN SELECT * FROM MyTable WHERE Column < 3;
结果如下:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE Occurances index NULL SearchString 102 NULL 40242 Using where; Using index
以下查询显示了 Column 中值的分布
SELECT COUNT(*), Column FROM MyTable GROUP BY Column;
结果如下:
COUNT(*) Column
43 0
5 1
106 2
71 3
42 4
283 5
2337 6
9491 7
22073 8
1191 9
1064 10
1105 11
919 12
393 13
288 14
288 15
200 16
123 17
71 18
71 19
36 20
10 21
13 22
8 23
4 24
3 25
4 29