本地建一张表persons,使用脚本插入了1000万条数据
下面比较几种查询方法的耗时(查询9000000到9000005这中间5条数据)
查询结果:
1:
SELECT * FROM test.persons limit 9000000,5;
2:
SELECT * FROM test.persons where Id_P between 9000000 and 9000005;
可见几乎不消耗时间
3:
SELECT * FROM test.persons where Id_P in(9000000,9000001,9000002,9000003,9000004,9000005);
同样不消耗时间
结论:
1:在数据较少的时候使用limit查询看不出耗时,如果数据量过大,千万不能再使用limit,
2:一定要通过指定主键索引去查询,这也意味着:建表的时候务必添加int类型的自增主键
3:服务器和客户端的数据交换务必带上数据索引,在客户端重新请求数据的时候,服务器通过该索引主键去查询数据比通过其他字段明显要快(索引通过折半查找,再大的数据,查询也很快)。