有两个表: comment 和 user现在需要列出某篇文章的所有评论,有两种方法:1、用两表联合查询一次性全查出来。select * from comment,user where comment.uid = user.uid
2、先查出评论,再循环取得用户信息。select * from commentfor($comments as $item){
select * from user where uid = $item['uid']
}
当数据量很大时,这两种查询哪个速度更快些?
我这里没有规模数据,没法测试,谢过各位!
2、先查出评论,再循环取得用户信息。select * from commentfor($comments as $item){
select * from user where uid = $item['uid']
}
当数据量很大时,这两种查询哪个速度更快些?
我这里没有规模数据,没法测试,谢过各位!
总的时间比较少。select * from comment,user where comment.uid = user.uid
全部由数据库一次性完成。一条语句。 其实在MYSQL内部它仍是按照你的第二种的机制来实现。但你的第二种显然会提交多个 select * from user where uid = $item['uid'] 语句,会在SQL语句的提交和结果的传送上有部分开销。