Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 188
  • Last Modified:

Which idea is better returning more than one result set or perform a join

Which approach is better?

Returning Multiple Result sets:
SELECT [CAR_LOAD_ID]
      ,[CAR_ORDER_FL]
      ,[CAR_WELL_ID]
      ,[POSITION_NR]
      ,[EQUIP_AN]
      ,[COMMENT_DS]
  FROM [CAR_LOAD_T]
where CAR_ID = 2


select      [TRAIN_LOAD_ID]
      ,[TRAIN_ID]
      ,[TRAIN_TRACK_ID]
      ,[POSITION_ID]
      ,[DEST_TRAIN_CODE_ID]
      ,[LOAD_DT]
      ,[LOAD_BY_AN]
      ,[CAR_TRACK_ID]
      ,[WELL_ORDER_FL]
from [TRAIN_LOAD_T] tl
where CAR_ID = 2

select [CAR_LENGTH_NR]
from CARS_T
where CAR_ID = 2


or perform a join:

SELECT cl.[CAR_LOAD_ID]
      ,cl.[CAR_ORDER_FL]
      ,cl.[CAR_WELL_ID]
      ,cl.[POSITION_NR]
      ,cl.[EQUIP_AN]
      ,cl.[COMMENT_DS]
      ,tl.[TRAIN_LOAD_ID]
      ,tl.[TRAIN_ID]
      ,tl.[TRAIN_TRACK_ID]
      ,tl.[POSITION_ID]
      ,tl.[DEST_TRAIN_CODE_ID]
      ,tl.[LOAD_DT]
      ,tl.[LOAD_BY_AN]
      ,tl.[CAR_TRACK_ID]
      ,tl.[WELL_ORDER_FL]
,c.[CAR_LENGTH_NR]
  FROM [CAR_LOAD_T] cl
  join [TRAIN_LOAD_T] tl
on tl.[CAR_ID] = cl.[CAR_ID]
join CARS_T c
on c.CAR_ID = tl.CAR_ID
where c.CAR_ID = 2

I am using both in my app and i like the multiple result set approach. WAY less C# code to type cause a join returns the same data over and over and i have to check for different values.
0
troycomp
Asked:
troycomp
  • 3
  • 3
1 Solution
 
chapmandewCommented:
It really depends.  If youre using the result sets separately, thene get them separately.  If you're using them together (a tran_id and a car_well_id at the same time) then join them.  Remember, don't pull back fields in the SELECT statement unless you absolutely need them.
0
 
troycompAuthor Commented:
Im using them together. Whats so "bad" about the multiple result sets? If anything. A join returns more data than multiple result sets cause if a value is found once in table a but table b its found 10 times, you'll get table a results 10 times as well
0
 
chapmandewCommented:
>>Whats so "bad" about the multiple result sets?
Nothing, really.  It all depends on how you want it.  If you're not going to need them combined, then don't combine them.
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
troycompAuthor Commented:
Im working on a big project and its due at the end of this month. Im trying to write as little C# code as possible, but i want to make it as efficient as possible. So if im not gonna take a performance hit for not joining then i'm gonna use result sets. Will i take a performance hit for this?
0
 
chapmandewCommented:
Without knowing what you're dong in your app, there is no way I can tell you if your performance is going to be better or worse by choosing two queries or one.
0
 
troycompAuthor Commented:
Thanks for your input
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now