如何解决这个问题而且有好的sql performance
cnyu 2013-04-09 12:14:45 有2个表:
Orders 表
字段: OrderNo, Active, RemainVolume, OrderDesc, BinaryData
OrderNo: bigint
Active: bool
RemainVolume: int
OrderDesc: varchar
BinaryData: image(binary)
ChildOrders 表
字段: OrderNo, ParentOrderNo
OrderNo: bigint
ParentOrderNo: bigint
OrderNo 是这个2个表的关键字段
现在要选择表Orders中的所有数据,条件:
1. Active = True AND
(
2. RemainVolume > 0 OR
3. RemainVolume = 0 但是Child的RemainVolume > 0
)
结果要显示Orders表中的所有字段,即OrderNo, Active, RemainVoluem, OrderDesc, BinaryData
而且OrderNo是唯一的,没有重复记录
注意: 因为Orders表中含有BinaryData,所以,不能用distinct
因为记录非常多, 上亿条记录,所以,要求有很好的性能
大家帮忙想想, 有啥好办法. 先行谢过了