先关联后查询,还是先查询后关联?

sym1978 2003-12-24 11:03:43
产品表Product
单据表Bill
单据明细视图(View_Bill)把产品表跟单据表关联起来

例:我想查询单据号为123
如以 Select * From View_BIll Where BIll='123'
这种方式是先关联再查询,

我是想是否可查询单据为123的记录集后,再把该记录集跟产品表关联
这种方式在当单据到一定量后会比较快,

不知哪位大虾需到这种问题,可否指教一二
...全文
331 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
devilwind 2003-12-25
  • 打赏
  • 举报
回复
但资料多的时候先查询再关联会快点!
wanghong9631217 2003-12-25
  • 打赏
  • 举报
回复
哈哈哈,还是自己测试一下比较放心啊
bobohuang 2003-12-25
  • 打赏
  • 举报
回复
我已進行測試,SQL SERVER中滿足數據庫理論,優化理論為先笛卡兒乘績,後選擇,最後投影!
所以,沒有區別!
aierong 2003-12-24
  • 打赏
  • 举报
回复
关联时就可以查询
xionglibin 2003-12-24
  • 打赏
  • 举报
回复
先查詢後關聯,當資料多時就會看出速度的問題了。
victorycyz 2003-12-24
  • 打赏
  • 举报
回复
这样更快:

select ...
from product a join 单据明细 b on a.产品id=b.产品id
where b.bill='123'
Rotaxe 2003-12-24
  • 打赏
  • 举报
回复
效果是一样的
oldcold 2003-12-24
  • 打赏
  • 举报
回复
效果不明显
w_rose 2003-12-24
  • 打赏
  • 举报
回复
如果使用很“烂”的小型数据库,就可能有这样的担心。尽管那些数据库经常宣称比SQL Server快7倍,但是看看它对程序员的要求:程序员要自己手工处理有关索引树、数据锁类型、事务备份日志、先查询还是先关联等等问题。看起来理论很高很丰富,其实要做到稳定、准确、高吞吐量等等还是让你轻轻松松地满足这些要求的工具才是真正地“高”。
w_rose 2003-12-24
  • 打赏
  • 举报
回复
在写成“from product a join 单据明细 b on a.产品id=b.产品id where b.bill='123'”
”中,根本没有(也不需要)明确先查询还是先关联。SQL Server会根据索引情况、表的统计信息(统计数据的多少、分布情况)等来动态规划查询方法。
sym1978 2003-12-24
  • 打赏
  • 举报
回复
哪位比较权威呀,这么多意见听谁的呀!

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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