排序肿么办!!

lzo_ozl 2011-10-08 01:36:17
获取数据的时候,sql里面木有用连接表查询,而是查出主要的Id,然后再根据这个Id,去相关表里面查需要的数据。
比如说要查出前20个商品,(必然要显示商品的价格)。商品表字段(sid,sname)。价格表字段(pid,sid,price)

当前的做法是 select top 20 * from tb_produce
然后在根据每个sid 获取各自的价格:
select price from tb_price where sid=''
这种情况下,想按照价格排序改肿么做呢!伤脑筋啊!

不让用select top 20 * from tb_produce a and tb_price b where a.sid==b.sid

说是这样做速度会慢,性能会慢!!
肿么办哩.

...全文
111 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
988kook 2011-10-08
  • 打赏
  • 举报
回复
临时表啊
lzo_ozl 2011-10-08
  • 打赏
  • 举报
回复
lzo_ozl 2011-10-08
  • 打赏
  • 举报
回复
未解决啊未解决啊!!
lzo_ozl 2011-10-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 return_false 的回复:]

如果真的考虑效率的问题,连 top * 都会影响性能的

其实挺想知道你们经理 该会如何处理,难道根据ID在去查表就提升了效率?
[/Quote]

汗... top * 是我举例子加的啦!!


表纠结这个问题了,想想怎么解决问题啊!!!真是服了。经理不懂事儿你还和他一起不懂事儿么
  • 打赏
  • 举报
回复
如果真的考虑效率的问题,连 top * 都会影响性能的

其实挺想知道你们经理 该会如何处理,难道根据ID在去查表就提升了效率?
trent 2011-10-08
  • 打赏
  • 举报
回复
那就用存储过程或者视图好了
lzo_ozl 2011-10-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 return_false 的回复:]

为啥不能联合表查询,用SQL处理要比用程序处理容易的多把
[/Quote]
据我们经理说:
联合表查询降低性能!!
被迫的啊,人家要求我不能用,我还能咋办~~~
  • 打赏
  • 举报
回复
为啥不能联合表查询,用SQL处理要比用程序处理容易的多把
五更琉璃 2011-10-08
  • 打赏
  • 举报
回复
可以用子查询 select top 20 *,(select price from tb_price where sid='') from tb_produce 也可以用LING 在程序里排序

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧