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

转载于:https://www.cnblogs.com/JimmyBright/p/5287789.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值