使用分表查询好还是直接在存储过程中连表查询好?
现在是这样比如,a,b两个表是有关系的(b表中保存a表的ID).我是先查b表,把所得a表ID的结果再对a表做查询好呢?还是直接在存储过程中把两个表连起来做查询好? 
 一个表一个表查询代码如下: 
 public   virtual   View_Domainss_DomainSellsDataSet   GetByD_Id(int   D_Id)   { 
 			View_Domainss_DomainSellsDataSet   stDataSet   =   new   View_Domainss_DomainSellsDataSet(); 
 			stDataSet.EnforceConstraints   =   false; 
 			SqlConnection   conn   =   new   SqlConnection(Config.connectionString);  			 
 			try   { 
 				conn.Open(); 
 				stDataSet.Domains.MergeTable(new   DomainsDAO().GetByD_Id(D_Id,   conn).Tables[0]);  			  				 
 				//(c)Fill   DomainSell   from   Domains 
 				foreach(DomainsRow   row   in   stDataSet.Domains.Rows)   { 
 					stDataSet.DomainSell.MergeTable(new   DomainSellDAO().GetAllByDS_Domain(row.D_Id,   conn).Tables[0]); 
 				}  				 
 			}   catch   (Exception   ex)   { 
 				throw(ex); 
 			}   finally   { 
 				conn.Close(); 
 			}  			 
 			stDataSet.AcceptChanges(); 
 			return   stDataSet; 
 		}
------解决方案--------------------个人倾向存储过程中连接
------解决方案--------------------如果经常使用查询的结果,显然使用存储过程的效率更好
------解决方案--------------------视图
------解决方案--------------------a,b表应该是一对多的关系吧,如果一次查出为一个记录集,那么a表会有庸余,如果一定需要查b表,可以使用多记录集,或者设计为关联实体类是。   
 class a{ 
     // 
     List <b>  list_b; 
 }   
 class b{ 
     // 
 }
------解决方案--------------------分区表,在存储过程中查询
------解决方案--------------------链表 查询  效率 更高.
------解决方案--------------------这个不好说,要看你的系统设计.根据范式计算.
------解决方案--------------------链表查询比较好,注意几个问题: 
 1.建好主链和外链; 
 2.字段多的话采用select a.字段名... from a LEFT OUTER JOIN b on a.id=b.id,不要用select * from 表名;
------解决方案--------------------在存储过程中连表查询好