JOIN的效率问题

brianlu 2005-11-11 10:46:41
A表里有m 行
B表里有n行

A 和Bjoin, 无论哪种join 时间复杂度是不是 m * n
有没有效率高点的join?

如果我把8个表用natural full outer join起来是不是效率很慢?如果每个表的记录数在20条左右?

请指教!
...全文
140 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bugchen888 2005-11-11
  • 打赏
  • 举报
回复
8个表每个表20条记录的全连接=20的八次方.......结果有25亿笔......
bugchen888 2005-11-11
  • 打赏
  • 举报
回复
SQL Server实现连接有三种算法:
1.循环嵌套连接,复杂度m*n,适用于小记录集;
2.排序合并连接,复杂度m+n,不过要先对两个参与连接的集合排序;
3.哈希连接,复杂度???,先分类再按类查找,适用于大的无序的记录集;

优化器会根据情况自动选择效率最高的方法,所以三种方法孰好孰坏不能一概而论.

34,576

社区成员

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

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