http://topic.csdn.net/u/20101122/09/a2ba13b2-7d07-4d4a-8222-677ccbc67503.html
先看下我的视图 代码 一共有两张表关联
SELECT dbo.T_wareOutWarehouseDetails.PositionCode, dbo.T_wareOutWarehouseDetails.PositionName, dbo.T_wareOutWarehouseDetails.OwnerWarehouse,
dbo.T_wareOutWarehouseDetails.OwnerCompanyCode, dbo.T_wareOutWarehouseBillMain.BillNo, dbo.T_wareOutWarehouseBillMain.OutWarehouseDate,
dbo.T_wareOutWarehouseBillMain.WarehouseMan, dbo.T_wareOutWarehouseBillMain.Re, dbo.T_wareOutWarehouseBillMain.PlanState,
dbo.T_orderMain.CustomerCode, dbo.T_orderMain.CustomerName, dbo.T_wareOutWarehouseDetails.GoodsStandard, dbo.T_wareOutWarehouseDetails.GoodsName,
dbo.T_wareOutWarehouseDetails.GoodsCode, dbo.T_wareOutWarehouseBillMain.Recorder, dbo.T_wareOutWarehouseBillMain.RecordDate,
dbo.T_wareOutWarehouseBillMain.Modifier, dbo.T_wareOutWarehouseBillMain.ModifyDate, dbo.T_wareOutWarehouseBillMain.Inputer,
dbo.T_baseGoodsPlaceInfo.SearchString, dbo.T_orderMain.StorageType, dbo.T_orderMain.OrderType, dbo.T_orderMain.InCustomerName,
dbo.T_orderMain.OutCustomerName, dbo.T_orderMain.CustomerOutCode, SUM(dbo.T_wareOutWarehouseDetails.FirstNum) AS FirstNun,
SUM(dbo.T_wareOutWarehouseDetails.SecondNum) AS SecondNum, SUM(dbo.T_baseGoods.GoodsGross * dbo.T_wareOutWarehouseDetails.SecondNum)
AS GoodsGross, SUM(dbo.T_baseGoods.GoodsNet * dbo.T_wareOutWarehouseDetails.SecondNum) AS GoodsNet,
SUM(dbo.T_orderDetails.UnitPrice * dbo.T_wareOutWarehouseDetails.SecondNum) AS GoodsValue,
SUM(dbo.T_baseGoods.InPackCubage * dbo.T_wareOutWarehouseDetails.SecondNum) AS GoodsCubage
FROM dbo.T_orderDetails RIGHT OUTER JOIN
dbo.T_wareOutWarehouseDetails ON dbo.T_orderDetails.KeyID = dbo.T_wareOutWarehouseDetails.OrderDetailsKeyID LEFT OUTER JOIN
dbo.T_baseGoods ON dbo.T_wareOutWarehouseDetails.GoodsKeyID = dbo.T_baseGoods.KeyID LEFT OUTER JOIN
dbo.T_baseGoodsPlaceInfo ON dbo.T_wareOutWarehouseDetails.PositionKeyID = dbo.T_baseGoodsPlaceInfo.KeyID LEFT OUTER JOIN
dbo.T_orderMain ON dbo.T_wareOutWarehouseDetails.OrderKeyID = dbo.T_orderMain.KeyID LEFT OUTER JOIN
dbo.T_wareOutWarehouseBillMain ON dbo.T_wareOutWarehouseDetails.OutWarehouseBillKeyID = dbo.T_wareOutWarehouseBillMain.KeyID
GROUP BY dbo.T_wareOutWarehouseDetails.PositionCode, dbo.T_wareOutWarehouseDetails.PositionName, dbo.T_wareOutWarehouseDetails.OwnerWarehouse,
dbo.T_wareOutWarehouseDetails.OwnerCompanyCode, dbo.T_wareOutWarehouseBillMain.BillNo, dbo.T_wareOutWarehouseBillMain.OutWarehouseDate,
dbo.T_wareOutWarehouseBillMain.WarehouseMan, dbo.T_wareOutWarehouseBillMain.Re, dbo.T_wareOutWarehouseBillMain.PlanState,
dbo.T_orderMain.CustomerCode, dbo.T_orderMain.CustomerName, dbo.T_wareOutWarehouseDetails.GoodsStandard, dbo.T_wareOutWarehouseDetails.GoodsName,
dbo.T_wareOutWarehouseDetails.GoodsCode, dbo.T_wareOutWarehouseBillMain.Recorder, dbo.T_wareOutWarehouseBillMain.RecordDate,
dbo.T_wareOutWarehouseBillMain.Modifier, dbo.T_wareOutWarehouseBillMain.ModifyDate, dbo.T_wareOutWarehouseBillMain.Inputer,
dbo.T_baseGoodsPlaceInfo.SearchString, dbo.T_orderMain.StorageType, dbo.T_orderMain.OrderType, dbo.T_orderMain.InCustomerName,
dbo.T_orderMain.OutCustomerName, dbo.T_orderMain.CustomerOutCode
如何优化这个呢?这个在项目中查询一次调用了两次查询视图 而且查询1次视图就已经很慢了 不能全部查询,如果全部查询查询不出来 我现在想要查询全部数据 但这个速度问题纠结了我两天多,谢谢大侠的帮忙 指点 说的越详细越好 最好能教我如何更改这个视图里的代码。再次感谢!!!急啊。
先看下我的视图 代码 一共有两张表关联
SELECT dbo.T_wareOutWarehouseDetails.PositionCode, dbo.T_wareOutWarehouseDetails.PositionName, dbo.T_wareOutWarehouseDetails.OwnerWarehouse,
dbo.T_wareOutWarehouseDetails.OwnerCompanyCode, dbo.T_wareOutWarehouseBillMain.BillNo, dbo.T_wareOutWarehouseBillMain.OutWarehouseDate,
dbo.T_wareOutWarehouseBillMain.WarehouseMan, dbo.T_wareOutWarehouseBillMain.Re, dbo.T_wareOutWarehouseBillMain.PlanState,
dbo.T_orderMain.CustomerCode, dbo.T_orderMain.CustomerName, dbo.T_wareOutWarehouseDetails.GoodsStandard, dbo.T_wareOutWarehouseDetails.GoodsName,
dbo.T_wareOutWarehouseDetails.GoodsCode, dbo.T_wareOutWarehouseBillMain.Recorder, dbo.T_wareOutWarehouseBillMain.RecordDate,
dbo.T_wareOutWarehouseBillMain.Modifier, dbo.T_wareOutWarehouseBillMain.ModifyDate, dbo.T_wareOutWarehouseBillMain.Inputer,
dbo.T_baseGoodsPlaceInfo.SearchString, dbo.T_orderMain.StorageType, dbo.T_orderMain.OrderType, dbo.T_orderMain.InCustomerName,
dbo.T_orderMain.OutCustomerName, dbo.T_orderMain.CustomerOutCode, SUM(dbo.T_wareOutWarehouseDetails.FirstNum) AS FirstNun,
SUM(dbo.T_wareOutWarehouseDetails.SecondNum) AS SecondNum, SUM(dbo.T_baseGoods.GoodsGross * dbo.T_wareOutWarehouseDetails.SecondNum)
AS GoodsGross, SUM(dbo.T_baseGoods.GoodsNet * dbo.T_wareOutWarehouseDetails.SecondNum) AS GoodsNet,
SUM(dbo.T_orderDetails.UnitPrice * dbo.T_wareOutWarehouseDetails.SecondNum) AS GoodsValue,
SUM(dbo.T_baseGoods.InPackCubage * dbo.T_wareOutWarehouseDetails.SecondNum) AS GoodsCubage
FROM dbo.T_orderDetails RIGHT OUTER JOIN
dbo.T_wareOutWarehouseDetails ON dbo.T_orderDetails.KeyID = dbo.T_wareOutWarehouseDetails.OrderDetailsKeyID LEFT OUTER JOIN
dbo.T_baseGoods ON dbo.T_wareOutWarehouseDetails.GoodsKeyID = dbo.T_baseGoods.KeyID LEFT OUTER JOIN
dbo.T_baseGoodsPlaceInfo ON dbo.T_wareOutWarehouseDetails.PositionKeyID = dbo.T_baseGoodsPlaceInfo.KeyID LEFT OUTER JOIN
dbo.T_orderMain ON dbo.T_wareOutWarehouseDetails.OrderKeyID = dbo.T_orderMain.KeyID LEFT OUTER JOIN
dbo.T_wareOutWarehouseBillMain ON dbo.T_wareOutWarehouseDetails.OutWarehouseBillKeyID = dbo.T_wareOutWarehouseBillMain.KeyID
GROUP BY dbo.T_wareOutWarehouseDetails.PositionCode, dbo.T_wareOutWarehouseDetails.PositionName, dbo.T_wareOutWarehouseDetails.OwnerWarehouse,
dbo.T_wareOutWarehouseDetails.OwnerCompanyCode, dbo.T_wareOutWarehouseBillMain.BillNo, dbo.T_wareOutWarehouseBillMain.OutWarehouseDate,
dbo.T_wareOutWarehouseBillMain.WarehouseMan, dbo.T_wareOutWarehouseBillMain.Re, dbo.T_wareOutWarehouseBillMain.PlanState,
dbo.T_orderMain.CustomerCode, dbo.T_orderMain.CustomerName, dbo.T_wareOutWarehouseDetails.GoodsStandard, dbo.T_wareOutWarehouseDetails.GoodsName,
dbo.T_wareOutWarehouseDetails.GoodsCode, dbo.T_wareOutWarehouseBillMain.Recorder, dbo.T_wareOutWarehouseBillMain.RecordDate,
dbo.T_wareOutWarehouseBillMain.Modifier, dbo.T_wareOutWarehouseBillMain.ModifyDate, dbo.T_wareOutWarehouseBillMain.Inputer,
dbo.T_baseGoodsPlaceInfo.SearchString, dbo.T_orderMain.StorageType, dbo.T_orderMain.OrderType, dbo.T_orderMain.InCustomerName,
dbo.T_orderMain.OutCustomerName, dbo.T_orderMain.CustomerOutCode
如何优化这个呢?这个在项目中查询一次调用了两次查询视图 而且查询1次视图就已经很慢了 不能全部查询,如果全部查询查询不出来 我现在想要查询全部数据 但这个速度问题纠结了我两天多,谢谢大侠的帮忙 指点 说的越详细越好 最好能教我如何更改这个视图里的代码。再次感谢!!!急啊。
解决方案 »
- 这种写法是不是无法避免sql注入?
- 文件下载时点击保存,然后可以打开。如果直接打开就提示“无法找到文件。请验证给出的路径和文件名”这是怎么回事儿
- 求关于.net 方面的资料 (asp.net ,企业库,框架,iis)都行
- 【菜鸟求助】如何显示和隐藏层?
- 关于Asp.net forum 配置文件的一个问题
- 关于指定DropDownList1控件各选择项的字体颜色的问题---在线等!
- 高手请进!!
- 用"hyperlink"打开的word界面中,图形化菜单全没有了
- 讨论:已有asp网页如何转换成aps.net(.aspx)网页?
- 请教牛人,form.submit()的工作原理???
- 如何检测web service 某个方法是否存在???
- 晕...编译器提示:"News_list"成员名称不能与他们的封闭类型相同
dbo.T_wareOutWarehouseDetails.OrderDetailsKeyID、
dbo.T_baseGoods ON dbo.T_wareOutWarehouseDetails.GoodsKeyID、
dbo.T_baseGoodsPlaceInfo ON dbo.T_wareOutWarehouseDetails.PositionKeyID等等。
就是那些用来作关联的字段,加上索引。
http://www.microsoft.com/china/technet/prodtechnol/sql/2005/ipsql05iv.mspx