帖子表(id,内容,发帖人ID),发帖人表(ID,姓名),数据量很大,显示帖子信息的的时候将显示为(发帖人.姓名),这时sql应该如何写才占用资源最少

解决方案 »

  1.   

    数据库操作往往是耗时操作,因此在项目中往往希望数据库操作的频度越少越好。楼主可以试试这样“
    select t_thread.id, t_thread.content, t_author.id, t_author.name from thread t_thread, author t_author where t_thread.author_id=t_author.id。 
      

  2.   

    谢谢codolio,我想再问一下这样的情况在正常的编程中应该都必然存在的,那传统的做法是怎么做的?我听同事说用sql语言的左联就可以了,我对sql不是太熟悉,不知道我同事的办法可以吗?
      

  3.   

    这是用左连接的写法
    select t_thread.id, t_thread.content, t_author.id, t_author.name from thread t_thread left join author t_author on t_thread.author_id=t_author.id
      

  4.   

    没有必要使用左连接啊,你这个只是关联查询 ,1 楼的就可以了select T.id, T.content, A.id, A.name from thread T, author A where T.author_id = A.id