社区
MS-SQL Server
帖子详情
先关联后查询,还是先查询后关联?
sym1978
2003-12-24 11:03:43
产品表Product
单据表Bill
单据明细视图(View_Bill)把产品表跟单据表关联起来
例:我想查询单据号为123
如以 Select * From View_BIll Where BIll='123'
这种方式是先关联再查询,
我是想是否可查询单据为123的记录集后,再把该记录集跟产品表关联
这种方式在当单据到一定量后会比较快,
不知哪位大虾需到这种问题,可否指教一二
...全文
331
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
打赏
举报
回复
哪位比较权威呀,这么多意见听谁的呀!
DB(五):
关联
查询
、子
查询
、
关联
子
查询
、分页
查询
包括
关联
查询
内链接、外链接、自
查询
;子
查询
在SELECT、WHERE、FROM语句中使用,子
查询
的执行过程及注意事项;
关联
子
查询
EXISTS、NOT EXISTS的执行过程,IN和EXISTS的区别;分页
查询
。
子
查询
和
关联
查询
的区别
子
查询
就是
查询
中又嵌套的
查询
,表连接都可以用子
查询
,但不是所有子
查询
都能用表连接替换,子
查询
比较灵活,方便,形式多样,适合用于作为
查询
的筛选条件,而表连接更适合与查看多表的数据。 子
查询
不一定需要两个表有
关联
字段,而连接
查询
必须有字段
关联
(所谓的主外键关系) 1,表
关联
的效率要高于子
查询
,因为子
查询
走的是笛卡尔积 2,表
关联
可能有多条记录,子
查询
只有一条记录,如果需要唯一的列,最好走子
查询
...
MySQL多表
关联
查询
效率高点还是多次单表
查询
效率高,为什么?
MySQL多表
关联
查询
对比多次单表
查询
,哪个效率高? 疑问: 比如有a,b两张表,两张表都差不多有十几w行记录,需要
查询
的字段在两张表中,那么是
关联
查询
效率高点还是分别查a,b两张表,再在service层合并数据效率高点?想问问大家在实际开发中都是怎么考量的?谢谢! 高手解答:
先
说效率哪个更高:A,B两个表数据规模十几万,数据规模都不大,单机MySQL够用了。 在单机的基础上要
关联
两表的数据,
先
说一个极端情况,A,B两个表都没有索引,并且
关联
是笛卡尔积,那
关联
结果会爆炸式增长,可能到亿级别,这个时候网
mysql临时表
关联
查询
_MySQL如何执行
关联
查询
MySQL中‘
关联
(join)’ 一词包含的意义比一般意义上理解的要更广泛。总的来说,MySQL认为任何一个
查询
都是一次‘
关联
’ --并不仅仅是一个
查询
需要到两个表的匹配才叫
关联
,索引在MySQL中,每一个
查询
,每一个片段(包括子
查询
,设置基于表单的select)都可能是
关联
。所以,理解MySQL如何执行
关联
查询
至关重要。我们
先
来看一个union
查询
的例子。对于union
查询
,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 ? 二者
查询
有区别
MS-SQL Server
34,593
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章