/*+ USE_CONCAT */ 的用法

数据库版本11g
select * From emp where ename='SMITH' or empno=7902

SQL>      select * from table(dbms_xplan.display_cursor('5gj2f75x9xtnx'));
 
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
SQL_ID  5gj2f75x9xtnx, child number 0
-------------------------------------
select * From emp where ename='SMITH' or empno=7902
Plan hash value: 962431618
--------------------------------------------------------------------------------
| Id  | Operation                        | Name          | Rows  | Bytes | Cost
--------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                 |               |       |       |     8
|   1 |  TABLE ACCESS BY INDEX ROWID     | EMP           |     2 |    78 |     8
|   2 |   BITMAP CONVERSION TO ROWIDS    |               |       |       |
|   3 |    BITMAP OR                     |               |       |       |
|   4 |     BITMAP CONVERSION FROM ROWIDS|               |       |       |
|*  5 |      INDEX RANGE SCAN            | I_EMP         |       |       |     1
|   6 |     BITMAP CONVERSION FROM ROWIDS|               |       |       |
|*  7 |      INDEX RANGE SCAN            | SYS_C00182518 |       |       |     0
--------------------------------------------------------------------------------
Predicate Information (identified by operation id):
 
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
---------------------------------------------------
   5 - access("ENAME"='SMITH')
   7 - access("EMPNO"=7902)
 

select /*+ USE_CONCAT */* From emp where ename='SMITH' or empno=7902

SQL>      select * from table(dbms_xplan.display_cursor('61agkrn33a0z1'));
 
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
SQL_ID  61agkrn33a0z1, child number 0
-------------------------------------
select /*+ USE_CONCAT */* From emp where ename='SMITH' or empno=7902
Plan hash value: 3488550714
--------------------------------------------------------------------------------
| Id  | Operation                    | Name          | Rows  | Bytes | Cost (%CP
--------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |               |       |       |     3 (10
|   1 |  CONCATENATION               |               |       |       |
|   2 |   TABLE ACCESS BY INDEX ROWID| EMP           |     1 |    39 |     1   (
|*  3 |    INDEX UNIQUE SCAN         | SYS_C00182518 |     1 |       |     0   (
|*  4 |   TABLE ACCESS BY INDEX ROWID| EMP           |     1 |    39 |     2   (
|*  5 |    INDEX RANGE SCAN          | I_EMP         |     1 |       |     1   (
--------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
 
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
   3 - access("EMPNO"=7902)
   4 - filter(LNNVL("EMPNO"=7902))
   5 - access("ENAME"='SMITH')
 
24 rows selected
对查询中的WHERE后面的OR条件进行转换为UNION ALL的组合查询.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 基于大数据分析与可视化的疫情信息发布平台源码+项目部署教程.zip 基于大数据分析与可视化的疫情信息发布平台源码+项目部署教程.zip 基于大数据分析与可视化的疫情信息发布平台源码+项目部署教程.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能。 1.首先找到config/index.js文件,将assetPublicPath的路径改为“./” 2.在build目录下utils.js修改,找到如下配置添加publicPath: '../../' ``` if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, fallback: 'vue-style-loader', publicPath: '../../', //添加上的 }) } else { return ['vue-style-loader'].concat(loaders) } ``` 3.npm run build产生dist文件夹 安装nginx ``` sudo yum -y install nginx sudo systemctl start nginx 如果想在系统启动时启用Nginx。请输入以下命令 sudo systemctl enable nginx ``` 上传部署 ``` 将dist文件夹上传到服务器 vi /etc/nginx/nginx.conf 在include /etc/nginx/default.d/*.conf;下方 location / { root /var/myapp/dist/; index index.html index.htm; try_files $uri $uri/ /index.html; } sudo systemctl restart nginx ``` # 后端部署 python3安装 ``` 安装必要工具 yum-utils ,它的功能是管理repository及扩展包的工具 sudo yum install yum-utils 使用yum-builddep为Python3构建环境,安装缺失的软件依赖,使用下面的命令会自动处理 sudo yum-builddep python 完成后下载Python3的源码包 curl -O https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz 最后一步,编译安装Python3,默认的安装目录是 /usr/local tar xf Python-3.7.6.tgz cd Python-3.7.6 ./configure make sudo make install #如果你要使用Python3作为python的默认版本,你需要修改一下 #bashrc 文件,增加一行alias参数 #alias python='/usr/local/bin/python3.7' 由于CentOS 7建议不要动/etc/bashrc文件,而是把用户自定义的配置放入/etc/profile.d/目录中,具体方法为 vi /etc/profile.d/python.sh 写入 alias python='/usr/local/bin/python3.7' chmod 755 /etc/profile.d/python.sh 重启会话使配置生效 source /etc/profile.d/python.sh ``` 安装需要的库 后台运行 ``` nohup /usr/local/bin/python3.7 -u app.py > test.log 2>&1 & 定时运行 用如下命令查看当前系统中的定时任务列表 crontab -l 对crontab进行编辑 crontab -e 这里设置的是每天6,、12、20点整运行脚本 0 6,12,20 * * * /usr/local/bin/python3.7 /home/ec2-user/cov19/app.py > /home/ec2-user/cov19/auto.log 完成后,可以重启一下crontab的服务即可 service crond restart ```
jquery中文汉化版 (function( window, undefined ) { //不要做这个因为各自的应用程序包括ASP.NET查找 // the stack via arguments.caller.callee and Firefox dies if //你尝试查找通过“精确使用”呼叫链接(#13335) //支持:火狐浏览器 18+ //“精确使用”; var //deferred对象被使用在DOM(Document Object Model翻译:文档对象模型)准备之时 //deferred(延迟)对象:从jQuery 1.5.0版本开始引入的一个新功能 //在DOM准备好时调用 readyList, //一个中心引用对于jQuery根文档 //对根jQuery对象的主要引用 rootjQuery, //支持:IE9之前的版本 // For `typeof node.method` instead of `node.method !== undefined` core_strundefined = typeof undefined, // Use the correct document accordingly with window argument (sandbox) document = window.document,//window文档赋值给变量document location = [removed], // Map over jQuery in case of overwrite(不确定,待修正,希望高人帮忙翻译一下) //在jQuery上绘制写在上面的实例 //防止被覆盖 _jQuery = window.jQuery, // Map over the $ in case of overwrite _$ = window.$, //将window正则表达式符号$赋值给变量_$ //[类]:成双类型 class2type = {}, //在贮存区被删除数据ID的列表,我们能够再用他们 core_deletedIds = [], core_version = "1.9.1", //保存一个参考给一些核心的方法 //为核心方法创建引用 core_concat = core_deletedIds.concat, core_push = core_deletedIds.push, core_slice = core_deletedIds.slice, core_indexOf = core_deletedIds.indexOf, core_toString = class2type.toString, core_hasOwn = class2type.hasOwnProperty, core_trim = core_version.trim, //规定一个jQuery本地代码 //构建jQuery对象 jQuery = function( selector, context ) { //jQuery对象是实际上初始化名为enhanced(提高的)构造器 //jQuery对象实际上只是增强的初始化构造方法 return new jQuery.fn.init( selector, context, rootjQuery ); }, /* 用来匹配数字的正则,匹配可选正负号、浮点型、整型、科学计数法 * 没有使用(?)来表示可选而是通过(|)来选择 * (?:\d*\.|)匹配浮点数时,|前的\d*\.可以匹配整数部分和小数点,小数部分由后面的\d+匹配 * 匹配整数时,|)可以保证匹配继续向下进行,整数由后面的\d+匹配,同样的\d+在匹配整型和浮点型时负责的匹配部分不同 * [eE][\-+]?\d+|)处理科学计数法的匹配,同样没有使用?表示可选 */ core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, //用于分开空格 core_rnotwhite = /\S+/g, //查找非空白字符串 // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, //\uFEFF:字节顺序标志 //一个简单途径用于检查HTML字符串 // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) // Strict HTML recognition (#11290: must start with <) rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, //匹配一个独立的标签 rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, // JSON RegExp(JavaScript Object Notation:JavaScript对象标记法正则表达式) rvalidchars = /^[\],:{}\s]*$/, rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, // Matches dashed string for camelizing rmsPrefix = /^-ms-/, rdashAlpha = /-([\da-z])/gi, //以上为正则运算表达式各种形式,不太容易理解,尽量掌握。
jquery中文汉化版 (function( window, undefined ) { //不要做这个因为各自的应用程序包括ASP.NET查找 // the stack via arguments.caller.callee and Firefox dies if //你尝试查找通过“精确使用”呼叫链接(#13335) //支持:火狐浏览器 18+ //“精确使用”; var //deferred对象被使用在DOM(Document Object Model翻译:文档对象模型)准备之时 //deferred(延迟)对象:从jQuery 1.5.0版本开始引入的一个新功能 //在DOM准备好时调用 readyList, //一个中心引用对于jQuery根文档 //对根jQuery对象的主要引用 rootjQuery, //支持:IE9之前的版本 // For `typeof node.method` instead of `node.method !== undefined` core_strundefined = typeof undefined, // Use the correct document accordingly with window argument (sandbox) document = window.document,//window文档赋值给变量document location = [removed], // Map over jQuery in case of overwrite(不确定,待修正,希望高人帮忙翻译一下) //在jQuery上绘制写在上面的实例 //防止被覆盖 _jQuery = window.jQuery, // Map over the $ in case of overwrite _$ = window.$, //将window正则表达式符号$赋值给变量_$ //[类]:成双类型 class2type = {}, //在贮存区被删除数据ID的列表,我们能够再用他们 core_deletedIds = [], core_version = "1.9.1", //保存一个参考给一些核心的方法 //为核心方法创建引用 core_concat = core_deletedIds.concat, core_push = core_deletedIds.push, core_slice = core_deletedIds.slice, core_indexOf = core_deletedIds.indexOf, core_toString = class2type.toString, core_hasOwn = class2type.hasOwnProperty, core_trim = core_version.trim, //规定一个jQuery本地代码 //构建jQuery对象 jQuery = function( selector, context ) { //jQuery对象是实际上初始化名为enhanced(提高的)构造器 //jQuery对象实际上只是增强的初始化构造方法 return new jQuery.fn.init( selector, context, rootjQuery ); }, /* 用来匹配数字的正则,匹配可选正负号、浮点型、整型、科学计数法 * 没有使用(?)来表示可选而是通过(|)来选择 * (?:\d*\.|)匹配浮点数时,|前的\d*\.可以匹配整数部分和小数点,小数部分由后面的\d+匹配 * 匹配整数时,|)可以保证匹配继续向下进行,整数由后面的\d+匹配,同样的\d+在匹配整型和浮点型时负责的匹配部分不同 * [eE][\-+]?\d+|)处理科学计数法的匹配,同样没有使用?表示可选 */ core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, //用于分开空格 core_rnotwhite = /\S+/g, //查找非空白字符串 // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, //\uFEFF:字节顺序标志 //一个简单途径用于检查HTML字符串 // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) // Strict HTML recognition (#11290: must start with <) rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, //匹配一个独立的标签 rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, // JSON RegExp(JavaScript Object Notation:JavaScript对象标记法正则表达式) rvalidchars = /^[\],:{}\s]*$/, rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, // Matches dashed string for camelizing rmsPrefix = /^-ms-/, rdashAlpha = /-([\da-z])/gi, //以上为正则运算表达式各种形式,不太容易理解,尽量掌握

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值