当前位置: 代码迷 >> J2EE >> 关于数据库效率的有关问题
  详细解决方案

关于数据库效率的有关问题

热度:57   发布时间:2016-04-22 02:15:02.0
关于数据库效率的问题
如: 数据库中有上1000万的数据。
1:用java发送请求语句查询select * from user where id in (1,2,3,4,5);发一条查询语句获取结果
2:用java发送请求语句查询:
  select * from user where id=1
  select * from user where id=2
  select * from user where id=3
  select * from user where id=4
  select * from user where id=5
发5条查询语句获取结果。

请问上面两种查询方法哪种快点?


------解决方案--------------------
应该是1快
------解决方案--------------------
发多条是不是要建立多次连接,即使用连接池。
1的要快啊,等同于我们一次取出数据来。
------解决方案--------------------
必然是1快。。。。。。

你2的方式就是重复请求了5次,五次网络传输,五次语法解析(可能是一次),五次执行,五次返回,怎么可能快的起来?!

所谓的 in 效率低于 =,指的是有表连接的情况,比如你有另一张表,假设叫tnum,里面只有五行记录 1~5

那么:
select * from user, tnum where user.id=tnum.id 
效率比 
select * from user where id in (1,2,3,4,5) 
高。
  相关解决方案