如果
SELECT attr FROM t WHERE attr2>=0 LIMIT 10000;
花了大约0.26秒。
会花多少时间(非常粗略)SELECT attr FROM t WHERE attr2>700;
开始跑?
mysql> EXPLAIN SELECT attr FROM t WHERE attr2>700;
+----+-------------+---------------+------+---------------+------+---------+------+--------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------------+------+---------------+------+---------+------+--------+-------------+
| 1 | SIMPLE | t | ALL | NULL | NULL | NULL | NULL | 769111 | Using where |
+----+-------------+---------------+------+---------------+------+---------+------+--------+-------------+
我最近更新了表格中约5000行的1或2个属性。
当我跑SELECT attr FROM t WHERE attr2>700;
时,它在我流产之前的20分钟内没有完成。
答案 0 :(得分:1)
让我们试试数学;)
10.000行=> 0.26s
769.111 rows => (769.111 * 0.26 / 10.000)=> 约20秒
但这是一个纯理论估计。