联表查询和程序控制查询的性能比较


假设有两个数据表

用户表:


 id (int 11)
education_id int(11)

教育表


 education_id int(11)
school varchar(32)
....

现在我要查询一个用户的受教育情况,有两种方法:

  1. 通过用户表和教育表的join查询,通过数据库的查询语句实现
  2. 程序控制:先通过用户表读出education_id,然后再读数据库的教育表

这两种实现方式在性能上有何区别?

数据库 数据库性能优化

蛋疼是种病 12 years, 3 months ago

索引建的好两种方式速度上差不多
联表查询有额外的性能消耗,并且访问的数据更多,堵塞写的几率也更大,采用第二种方式比较好
如果where条件分布在两张表中并需要分页的话,还是得联表查询

节操常驻的某驴 answered 12 years, 3 months ago

Your Answer