关于MySql数据库设计表与查询耗时分析

  本地建一张表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:服务器和客户端的数据交换务必带上数据索引,在客户端重新请求数据的时候,服务器通过该索引主键去查询数据比通过其他字段明显要快(索引通过折半查找,再大的数据,查询也很快)。

posted @ 2016-03-17 16:18  流火行者  阅读(1076)  评论(0编辑  收藏  举报