【SQL 学习】minus 和intsect 的排序方式!

简介: 前面的文章说 minus  和intsect 的排序方式和union的排序方式是一样的,这里做一个实验验证一下:SQL> select id ,name ,text from t  2  minus  3  select id ,name ,text fr...
前面的文章说 minus  和intsect 的排序方式和union的排序方式是一样的,这里做一个实验验证一下:
SQL> select id ,name ,text from t
  2  minus
  3  select id ,name ,text from t1;
未选定行
执行计划
----------------------------------------------------------
Plan hash value: 452211453 
---------------------------------------------------------------------------- 
| Id  | Operation           | Name | Rows  | Bytes | Cost (%CPU)| Time     |
----------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |      |     9 |   270 |     9  (67)| 00:00:01 |
|   1 |  MINUS              |      |       |       |            |          | 
|   2 |   SORT UNIQUE       |      |     9 |    81 |     4  (25)| 00:00:01 | 
|   3 |    TABLE ACCESS FULL| T    |     9 |    81 |     3   (0)| 00:00:01 | 
|   4 |   SORT UNIQUE       |      |    21 |   189 |     5  (20)| 00:00:01 | 
|   5 |    TABLE ACCESS FULL| T1   |    21 |   189 |     4   (0)| 00:00:01 | 
---------------------------------------------------------------------------- 
统计信息
----------------------------------------------------------
          1  recursive calls 
          0  db block gets  
         14  consistent gets 
          0  physical reads 
          0  redo size  
        387  bytes sent via SQL*Net to client 
        404  bytes received via SQL*Net from client 
          1  SQL*Net roundtrips to/from client 
          2  sorts (memory)
          0  sorts (disk)
          0  rows processed 
SQL> set linesize 120
SQL> select id ,name ,text from t1
  2  minus
  3  select id ,name ,text from t;
        ID NAM TEX     
---------- --- ---     
         2 a1  b1      
         2 a1  b2      
         2 a1  b3      
         2 a2  b2      
         3 a1  b1      
         3 a1  b2      
         3 a1  b3      
         3 a2  b1      
         3 a2  b2     
         3 a2  b3      

已选择10行。
执行计划
----------------------------------------------------------
Plan hash value: 3599035886 
----------------------------------------------------------------------------
| Id  | Operation           | Name | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------- 
|   0 | SELECT STATEMENT    |      |    21 |   270 |     9  (56)| 00:00:01 | 
|   1 |  MINUS              |      |       |       |            |          |
|   2 |   SORT UNIQUE       |      |    21 |   189 |     5  (20)| 00:00:01 |
|   3 |    TABLE ACCESS FULL| T1   |    21 |   189 |     4   (0)| 00:00:01 | 
|   4 |   SORT UNIQUE       |      |     9 |    81 |     4  (25)| 00:00:01 | 
|   5 |    TABLE ACCESS FULL| T    |     9 |    81 |     3   (0)| 00:00:01 | 
---------------------------------------------------------------------------- 
统计信息
---------------------------------------------------------
          1  recursive calls
          0  db block gets
         14  consistent gets 
          0  physical reads 
          0  redo size 
        642  bytes sent via SQL*Net to client  
        415  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          2  sorts (memory) 
          0  sorts (disk) 
         10  rows processed  

SQL> select id ,name ,text from t1
  2  intersect
  3  select id ,name ,text from t;
        ID NAM TEX
---------- --- ---     
         1 a1  b1      
         1 a1  b2      
         1 a1  b3      
         1 a2  b1      
         1 a2  b2      
         1 a2  b3      
         2 a2  b1      
         2 a2  b3
已选择8行。
执行计划
---------------------------------------------------------
Plan hash value: 2269807545
----------------------------------------------------------------------------
| Id  | Operation           | Name | Rows  | Bytes | Cost (%CPU)| Time     |
----------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |      |     9 |   270 |     9  (56)| 00:00:01 | 
|   1 |  INTERSECTION       |      |       |       |            |          | 
|   2 |   SORT UNIQUE       |      |    21 |   189 |     5  (20)| 00:00:01 | 
|   3 |    TABLE ACCESS FULL| T1   |    21 |   189 |     4   (0)| 00:00:01 | 
|   4 |   SORT UNIQUE       |      |     9 |    81 |     4  (25)| 00:00:01 |
|   5 |    TABLE ACCESS FULL| T    |     9 |    81 |     3   (0)| 00:00:01 |
----------------------------------------------------------------------------
统计信息
----------------------------------------------------------
          1  recursive calls 
          0  db block gets 
         14  consistent gets 
          0  physical reads 
          0  redo size  
        620  bytes sent via SQL*Net to client
        415  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client  
          2  sorts (memory)   
          0  sorts (disk)  
          8  rows processed 
SQL> select id ,name ,text from t
  2  intersect
  3  select id ,name ,text from t1;
        ID NAM TEX     
---------- --- ---     
         1 a1  b1      
         1 a1  b2      
         1 a1  b3      
         1 a2  b1      
         1 a2  b2      
         1 a2  b3      
         2 a2  b1      
         2 a2  b3  
已选择8行。


执行计划
---------------------------------------------------------- 
Plan hash value: 3938425003  
----------------------------------------------------------------------------
| Id  | Operation           | Name | Rows  | Bytes | Cost (%CPU)| Time     | 
---------------------------------------------------------------------------- 
|   0 | SELECT STATEMENT    |      |     9 |   270 |     9  (67)| 00:00:01 | 
|   1 |  INTERSECTION       |      |       |       |            |          | 
|   2 |   SORT UNIQUE       |      |     9 |    81 |     4  (25)| 00:00:01 | 
|   3 |    TABLE ACCESS FULL| T    |     9 |    81 |     3   (0)| 00:00:01 | 
|   4 |   SORT UNIQUE       |      |    21 |   189 |     5  (20)| 00:00:01 | 
|   5 |    TABLE ACCESS FULL| T1   |    21 |   189 |     4   (0)| 00:00:01 | 
---------------------------------------------------------------------------- 
统计信息
---------------------------------------------------------- 
          1  recursive calls    
          0  db block gets  
         14  consistent gets  
          0  physical reads   
          0  redo size      
        620  bytes sent via SQL*Net to client
        415  bytes received via SQL*Net from client 
          2  SQL*Net roundtrips to/from client  
          2  sorts (memory)  
          0  sorts (disk) 
          8  rows processed                                                                      
所有的结果都是全量排序!
目录
相关文章
|
3月前
|
SQL 存储 关系型数据库
|
SQL
【SQL 学习】INTERSECT,MINUS ,
SQL> select product_id,product_type_id ,name  2  from products  3  intersect               ---返回两查询结果共有的数据行  4  select prd_id,prd_t...
855 0
|
2月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
4月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
101 13
|
4月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
4月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
59 6
|
4月前
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
316 1
|
3月前
|
SQL 安全 Java
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
434 0
|
4月前
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
284 3
|
4月前
|
SQL 存储 安全
数据库数据恢复—SQL Server数据库出现逻辑错误的数据恢复案例
SQL Server数据库数据恢复环境: 某品牌服务器存储中有两组raid5磁盘阵列。操作系统层面跑着SQL Server数据库,SQL Server数据库存放在D盘分区中。 SQL Server数据库故障: 存放SQL Server数据库的D盘分区容量不足,管理员在E盘中生成了一个.ndf的文件并且将数据库路径指向E盘继续使用。数据库继续运行一段时间后出现故障并报错,连接失效,SqlServer数据库无法附加查询。管理员多次尝试恢复数据库数据但是没有成功。