我做的这个涉及到很多不同的查询,但是我想把他们都写到一个存储过程里
这样对数据库影响大吗?在线等回复

解决方案 »

  1.   

    优化?我都写在一个存储过程里了,还优化干嘛啊?
    比如@a,@b,@c,@d,@e,@f,@g下面写一个大的联合查询这样还杂优化?
      

  2.   

    关键在于你这样的工作其用处是什么?例如:select * from a 
    select * from b查询出两个结果来或是更多的结果,你如何使用呢?
      

  3.   

    厄。。估计是我问的有点含糊,我是想把他们都写一起去了比如
    SELECT dbo.buses.num, dbo.buses.[from], dbo.buses.[to], dbo.bus_station.name, 
          dbo.bus_station.row, dbo.bus_station.col, dbo.[user].username, 
          dbo.help_questions.question, dbo.help_answers.answer, 
          dbo.economies.name AS Expr1, dbo.economies.logo, dbo.land.name AS Expr2, 
          dbo.land_border.land_id, dbo.land_border.[order], 
          dbo.land_border.row AS Expr3, dbo.land_border.col AS Expr4
    FROM dbo.buses INNER JOIN
          dbo.bus_station ON dbo.buses.id = dbo.bus_station.id INNER JOIN
          dbo.bus_routes ON dbo.buses.id = dbo.bus_routes.buses_id AND 
          dbo.bus_station.id = dbo.bus_routes.station_id INNER JOIN
          dbo.[user] ON dbo.buses.id = dbo.[user].id INNER JOIN
          dbo.help_questions ON dbo.[user].id = dbo.help_questions.user_id INNER JOIN
          dbo.help_answers ON dbo.[user].id = dbo.help_answers.user_id AND 
          dbo.help_questions.id = dbo.help_answers.questions_id INNER JOIN
          dbo.economies ON dbo.buses.id = dbo.economies.id INNER JOIN
          dbo.land ON dbo.economies.land_id = dbo.land.id INNER JOIN
          dbo.land_border ON 
          dbo.land.id = dbo.land_border.land_id INNER JOIN
          dbo.land_station ON dbo.buses.id = dbo.land_station.station_id AND 
          dbo.bus_station.id = dbo.land_station.station_id AND 
          dbo.bus_station.id = dbo.land_station.station_id AND 
          dbo.land.id = dbo.land_station.land_id随便拉一段出来做例子
    这里面我其实分了很多功能,比如有要看land和economies的信息的,有要看buses信息的,有要user信息的,那我把他们都弄到一个存储过程里是不是方便别人使用呢?
      

  4.   


    在效率上,可能有影响。因为land和economies或许不需要所有的表,只要1个或者2个。
    buses或许又需要另外的表