【发布时间】:2009-08-10 01:50:47
【问题描述】:
在过去的几个月中,我遇到了多种情况,其中旧版 sql SP 返回一个主要由冗余信息组成的表。
例子:
从...中选择 CustomerID、CustomerEmail、CustomerAddress、InventoryLineItem、ShipQty
返回:
55 a@b.com 723 StreetName InvLineItem#1 45
55 a@b.com 723 StreetName InvLineItem#2 42
55 a@b.com 723 StreetName InvLineItem#3 1
55 a@b.com 723 StreetName InvLineItem#4 5
55 a@b.com 723 StreetName InvLineItem#5 200
55 a@b.com 723 StreetName InvLineItem#6 7045
(前 3 个字段永远不会改变)
由于我是该项目的唯一开发人员,因此我开始将其分解为两个选择语句。 (我也在处理接收 .NET 代码)
从...中选择 CustomerID、CustomerEmail、CustomerAddress。
Returns: 55 a@b.com 723 Streetname <-- 1 record
从 ...中选择 InventoryLineItem、ShipQty 返回:
LineItem#1 45
LineItem#2 42
LineItem#3 1
等等
显然,.NET 中生成的数据集更小,但有时在选择语句中总是有 10 个字段在所有情况下都完全相同,这确实让我感到烦恼。一些查询甚至可能返回数十万条记录。
我觉得我在这里做的事情是正确的,但我又不是 SQL 专家。
我有什么理由避免这种做法吗?
提前感谢您的宝贵时间。
【问题讨论】:
标签: sql sql-server sql-server-2005 sql-server-2008