将外连接转换为内连接

优化程序为其访问计划生成左深 (left-deep) 处理树。这一规则的唯一例外是存在右深 (right-deep) 嵌套外连接表达式的情况。查询执行引擎的用于计算 LEFT OUTER JOIN 或 RIGHT OUTER JOIN 的算法要求,保留的表必须在任何连接策略中先于提供空值的表。因此,只要可能,优化程序就会寻找机会将 LEFT 或 RIGHT 外连接转换为内连接,这是因为内连接是可交换的,它使优化程序在执行连接枚举时具有更大的自由度。

如果以下条件之一为真,则 LEFT 或 RIGHT 外连接会转换为内连接:

  • 不允许使用空值的谓语出现在查询的 WHERE 子句中,该谓语引用提供空值的表的列。由于该谓语不允许空值,因此将从结果中排除外连接生成的所有值为 NULL 的行,从而使该查询在语义上等效于内连接。
  • 外连接的提供空值的一侧为保留一侧的每行只返回一行。如果该条件为真,则不存在提供空值的行,并且外连接等效于内连接。

当查询引用使用外连接编写的一个或多个视图时,此重写优化可应用于外连接查询。该查询的 WHERE 子句可以包括限制输出的条件,以便从一个或多个表的表达式中排除所有提供空值的行,从而使这种优化适用。

 示例 1
 示例 2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]的代码,可以使用以下PHP函数将迅雷连接转换为URL地址: ```php function ThunderToUrl($thunderUrl) { $url = base64_decode(substr(trim($thunderUrl), 10, -2)); return substr($url, 2, -2); } ``` 使用该函数,你可以将迅雷连接作为参数传入,然后得到对应的URL地址。例如,如果你有一个迅雷连接`thunder://QUFodHRwOi8vZXhhbXBsZS5jb20vZG93bmxvYWQuemlw`,你可以调用`ThunderToUrl`函数来将其转换为URL地址: ```php $thunderUrl = 'thunder://QUFodHRwOi8vZXhhbXBsZS5jb20vZG93bmxvYWQuemlw'; $url = ThunderToUrl($thunderUrl); echo $url; ``` 输出结果将是`http://example.com/download.zip`,这就是将迅雷连接转换为URL地址的方法。 #### 引用[.reference_title] - *1* [迅雷thunder://地址与普通url地址转换](https://blog.csdn.net/yazi1297/article/details/45601795)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [php实现把url转换迅雷thunder资源下载地址的方法](https://blog.csdn.net/weixin_32752813/article/details/116412259)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [PHP迅雷/快车/QQ旋风下载地址与普通URL链接互转](https://blog.csdn.net/weixin_29924243/article/details/116173237)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值