社区
MS-SQL Server
帖子详情
先关联后查询,还是先查询后关联?
sym1978
2003-12-24 11:03:43
产品表Product
单据表Bill
单据明细视图(View_Bill)把产品表跟单据表关联起来
例:我想查询单据号为123
如以 Select * From View_BIll Where BIll='123'
这种方式是先关联再查询,
我是想是否可查询单据为123的记录集后,再把该记录集跟产品表关联
这种方式在当单据到一定量后会比较快,
不知哪位大虾需到这种问题,可否指教一二
...全文
420
11
打赏
收藏
先关联后查询,还是先查询后关联?
产品表Product 单据表Bill 单据明细视图(View_Bill)把产品表跟单据表关联起来 例:我想查询单据号为123 如以 Select * From View_BIll Where BIll='123' 这种方式是先关联再查询, 我是想是否可查询单据为123的记录集后,再把该记录集跟产品表关联 这种方式在当单据到一定量后会比较快, 不知哪位大虾需到这种问题,可否指教一二
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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
打赏
举报
回复
哪位比较权威呀,这么多意见听谁的呀!
mysql
先
关联
查询
后更改
关联
查询
是否需要
先
缩小
查询
范围?
现有如下需求: A表与B表中的一部分数据(where过滤)需
关联
查询
,
关联
条件是A.id=B.id,那么我的sql需要怎么写,是select * from A join B on A.id=B.id where B.id>10 ? 还是 select * from A join (select * from B where id > 10) C on A.id = C.id ? 二者
查询
有区别
hibernate级联更新(会
先
查询
被
关联
的数据)
1:hibernate级联更新的时候,会
先
查询
被
关联
的数据 原理,验证是否可以级联更新,防止被
关联
的数据其实不存在,那么做更新操作是不合理的。 2:hibernate做级联更新的时候,如果数据所有数据没有做任何变动,那么主
关联
的表会进行更新的sql 例如:如果1-多级联更新,多方的数据没有任何变化,执行一条sql,如果多方List集合中的任何一个对象的数据变化了,多方的全部数
sqlserver
关联
查询
强制
先
走where条件
您可以使用 FORCE ORDER 来强制
先
走 WHERE 条件。 例如: SELECT * FROM table1 INNER JOIN table2 ON table1.col1 = table2.col1 WHERE table1.col2 = 'some value' FORCE ORDER 在上面的
查询
中,WHERE 条件将会被优
先
执行,之后才会执行
关联
操作。 ...
hibernate遇到的
先
save或者update后,再去
查询
关联
表查不到
1 .flush ():同步持久上下文环境,即将持久上下文环境的所有未保存实体的状态信息保存到数据库中。 2.refresh (Object entity):用数据库实体记录的值更新实体对象的状态,即更新实例的属性值。 3.clear ():清除持久上下文环境,断开所有
关联
的实体。如果这时还有未提交的更新则会被撤消。 4.contains (Object entity):判断一个实例是否属于...
MS-SQL Server
34,876
社区成员
254,635
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章