最近有人问了浪尖一个flink共享datastream或者临时表会否重复计算的问题。 ?...而对于flink的sql呢?假如compute1和compute2之前是经过复杂计算的临时表,直接给下游sql计算使用会出现什么问题呢?...先告诉大家答案 ,临时表注册完了之后,实际上并没有完成物化功能,这时候后续有多个sqlupdate操作依赖这个临时表的话,会导致临时表多次计算的。...这个其实也不难理解,因为每次sqlupdate都是完成sql 语法树的解析,实际上也是类似于spark的血缘关系,但是flink sql不能像spark rdd血缘关系那样使用cache或者Checkpoint...env.getExecutionPlan()); // env.execute(); } } 可视化页面链接: https://flink.apache.org/visualizer/ 使用的过程中避免重要的账号密码被泄露
今天发现了一个关于npm的小问题,大家应该知道每个node工程都有一个package.json文件,里面会记录一些该项目的概要信息,例如项目名称、版本、作者、git库、项目的协议(MIT这种)、依赖包等等...如果你用过express,相信你对 npm start 不陌生,其实 npm start 执行的就是以上定义好的 scripts 对象中键为 start 的命令,也就是相当于你在命令行中输入 node...如上图所示,npm 中的command必须是那一堆的其中之一,这样的话那必须选一个才行吗,这还叫什么自定义。当然不是这样的。...而再执行 npm run start,同样ok,这也就是说完整的执行scripts中的脚本,应该是 npm run ,而 npm 为了使用方便使用,对某些默认的指令...以上就是这些,顺便说一下,作者本人也并不是什么大神,公众号以后会多记录下自己发现的种种问题,权当是一个学习成长的过程,我也很希望更多的node开发者能与我学习交流,直接搜索微信号 rifewang 就可以找到我
♣ 题目部分 在Oracle中,SQL语句的执行过程有哪些? ♣ 答案部分 Oracle数据库里SQL语句的执行过程可以如下图所示: ?...在这个过程中,Oracle会先执行对目标SQL的语法、语义和权限的检查: ① 语法检查(Syntax Check)是检查目标SQL的拼写是否正确,例如错将关键字“FROM”写成“FORM”,将“SELECT...如果目标SQL能通过上述检查,那么接下来Oracle就会去SGA的共享池中的库缓存(Library Cache)中查找是否存在匹配的共享游标(Shared Cursor)。...在查询转换过程中,Oracle会根据一些规则来决定是否对目标SQL执行查询转换,这些规则在Oracle不同的版本里不尽相同。...在Oracle 9i中,查询转换是独立于优化器的,它与优化器的类型无关,但是从Oracle 10g开始,Oracle会对某些类型的查询转换(比如子查询展开、复杂视图合并等)分别计算经过查询转换后的等价改写
记录一个关于Git引发的编码异常。 今天我的两个git仓库pull后遇到了同一个问题,git提示多个文件发生了modify。...记录下现场: 出现的问题是这些文件的编码由仓库的UTF-8 BOM 变成了UTF-8。...即开头多了一个\uFEFF 出现问题的有我的两个仓库,和同事的一个仓库,(但是共一个远程仓库,相同分支)但是其他人没有问题。...我的两个仓库出现git 提交不同,出现问题的文件不同,但是都指向相同的项目 vs,git bash,tortoiseGit都有相同问题 尝试的修复方式: git add. git commit 做一次本地提交...,同时有更好的阅读体验。
♣ 题目部分 在Oracle中,SQL如何优化?SQL优化的关注点有哪些? ♣ 答案部分 随着数据库中数据量的增长,系统的响应速度就成为目前系统需要解决的最主要的问题之一。...系统优化中一个很重要的方面就是SQL语句的优化。对于大量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上千倍。...对于一个系统不是简单地能实现其功能就可以了,而是要写出高质量的SQL语句,提高系统的可用性。 在多数情况下,Oracle使用索引来更快地遍历表,优化器主要根据定义的索引来提高性能。...在编写SQL语句时,应清楚优化器根据何种原则来使用索引,这有助于写出高性能的SQL语句。 SQL的优化主要涉及如下几个方面的内容: (1)索引问题。...有可能是设计的不合理、业务需求的不合理,而问题SQL并非根本原因。 (9)查询特别频繁的结果是否可以缓存,比如Oracle的/*+ result_cache */。 (10)分析表的连接方式。
如图,这是今天一个先行者计划的成员,在同我聊天的时候提到的问题。这个问题确实是客观存在的,前端变化快,一会今天这个了,一会明天又那个了。...“我都有点动摇了,我原来还总鼓励他们别放弃,搞一阵之后自己也有想法了” 我在微信是这样回复他的, 其实你细看,前端变的都是上层建筑,什么vue啊,react啊,这那的,,但这些框架都是对原生js的再封装...只要你原生 js很ok,那么你学习新框架是很快的。就例如我,我原生 js很ok,所以我学什么新的框架,都很快。一个新框架出来,无非是一套新js语法而已,核心还是那些。...前端无论怎么变,永远只有一个js,其它的那些东西,都是在js的基础之上,再封装。jq解决dom兼容性,vue,react解决dom操作,但根上呢?...后端有后端的好处,学会一个j2ee可以吃很多年。但前端最大的优势在于,只要你比别人快,你就会有很大的优势。 这一点就如同现在的中国,唯一不变的就是变化。
♣ 题目部分 在Oracle中,固定SQL执行计划的方法有哪些?...♣ 答案部分 在实际项目中,通常在开发环境下,一些SQL执行没有任何功能问题,而当到了生产环境或生产环境的数据量发生较大的变量时,其SQL的执行效率非常低。...因为在SQL语句的执行计划发生更改时,可能存在性能风险。SQL计划发生更改的原因有很多,如优化程序版本、优化程序统计信息、优化程序参数、方案定义、系统设计和SQL概要文件创建等。...有4种方式可以固定和控制执行计划,分别是使用Hint(提示)、OUTLINE(存储概要)、SQL PROFILE(SQL概要文件)和SPM(SQL Plan Management,SQL计划管理),如下表所示...本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。
System.out.println(“3.真情回馈”); System.out.println(“4.注销”); System.out.println("”); do { System.out.println(“请选择输入的数字...System.out.println(“体重:55”); break; case 2: System.out.println(“共需要支付:998¥”); break; case 3: System.out.println(“请反馈您的感受...”); break; case 4: System.out.println(“我也不知道说啥了”); break; } }while (isRight); } 我没办法在输入1~4间的数时,执行完跳出循环
数据类型对于每一种编程语言而言都是数据存储的基础,对于编程语言的实现功能而言也是一个标尺,有些编程语言可能数据类型很丰富,比如java,c,在数据计算方面的支持很全面,有些编程比较精简,更侧重于实现特定的功能...对于oracle中的sql来说,数据类型的支持非常全面,无论是数据计算还是复杂的业务逻辑封装需要,数据类型的支持都是内置和可扩展的。可以根据需要来选择。...目前oracle的数据类型分类大体有如下的结构。 用户自定义类型,基本上都是由type来实现,可以根据需要来灵活定制。 内置数据类型是主要的应用方向。...大体分为了标量,集合,关系型 image.png 关于自定义数据类型有必要多说一些。 一个简单的例子如下,我们创建测试表test_datatype来简单的说明。...默认存储的是长度为0的字符串。VARCHAR同VARCHAR2不建议使用NUMBER(p[,s])1-22字节。存储定点数,值的绝对值范围为1.0 x 10 -130至1.0 x 10 126。
♣ 题目部分 在Oracle中,物理DG维护中常用到的SQL语句有哪些?...②查看V$ARCHIVE_DEST_STATUS的RECOVERY_MODE列,若启用了实时应用,则在Oracle 11g显示MANAGED REAL TIME APPLY,在Oracle 10g显示MANAGED...00:00:01 ora_mrp0_phydb 5.DG总体情况查询 以下的SQL是一个非常有用的SQL语句,可以查询出当前DG的运行和配置的总体情况: SET LINE 9999 COL DEST_NAME...l WAIT_FOR_LOG:等待新的Redo数据中 l WAIT_FOR_GAP:归档有中断,正等待中断的那部分Redo数据 l APPLYING_LOG:应用Redo数据中 8.手动注册日志 如果有日志文件未被传输或未被注册到备库...下面的SQL语句可以生成物理和逻辑DG注册的SQL语句,日志号从1980到2000: SELECT 'alter database register or replace logical logfile
在 Oracle 21C 中,ALL 关键字也可以添加到 MINUS 和 INTERSECT 运算符,因此它们的操作是基于相同行的,而不是基于不同行的。...MINUS ALL MINUS 集合运算符返回第一个查询的结果,但是不包含第二个查询结果的所有行。...> 通过以下查询,我们使用 MINUS 运算符后,由于 MINUS 自带去重,所以实际上第一个查询出的结果去重后只剩下 10,20,30,将第二个查询结果中的 20,30 都减掉后,最后结果集只显示一个...> EXCEPT EXCEPT 集合运算符返回第一个查询结果并且减去第二个查询结果的所有行。...SQL> EXCEPT ALL EXCEPT ALL 集合运算符返回第一个查询而不是第二个查询选择的所有行,在功能上等同于 MINUS ALL 运算符。
♣ 题目部分 在Oracle中,逻辑DG维护中常用到的SQL语句有哪些?...如果禁止了逻辑DG归档文件的自动删除功能,那么一定要有相应的其他解决方案,不能说取消了自动删除功能,之后逻辑Standby数据库接收到的Standby归档文件就不再管它,这肯定会产生问题,最起码要考虑到逻辑...最后根据显示的路径找到这些文件,然后在操作系统中删除即可。...SQL语句,这里就不列举了,读者可以关注作者的微信公众号,作者每天会推送一个非常实用的SQL语句。...& 说明: 有关DBMS_LOGSTDBY包的使用可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2136495/ 本文选自《Oracle程序员面试笔试宝典
全局变量和局部变量可以说是泾渭分明,如 a = 10 def test(): a = 20 print(a) test() #将输出局部变量a print(a) # 将输出全局变量a #答案是: 20 10 函数内部的局部变量...my_list = [10] def list_test(): my_list=[] my_list.append(20) print(‘函数的’,my_list) list_test() print(...my_list) 答案为:函数的 [20] [10] 仍然符合局部变量并不会影响全局变量 注意:假设为一个空的列表或字典 my_list = [] def list_test(): my_list.append...(20) print(‘函数的’,my_list) list_test() print(my_list) 答案:函数的 [20] [20] 这里为何是20,而不是[]?...个人见解:函数内部无my_list这个列表,因此他将会调用全局变量my_list列表,然后把元素放在了列表中,改变的是全局变量,又或是因为是容器? 望大佬们积极解惑,不胜感激
今天我遇到这样一个问题,问题描述如下: 给出一个数组,再给定一个数target,如果数组中有两个数的和等于target,那么返回这两个数的索引,如果说有多对数都符合条件则返回第一对,返回的结果用一个长度为...2的数组保存,并且返回的数组按升序排列: 如:[2,7,11,15] target=9,那么返回[1,2],这只是一个最普遍的例子,因为数组中可以有重复的数,如[0,4,1,0 ] target...,就证明这对数是存在的,但是我们仅仅是set是找不到,target-n的索引的,并且如果有两个索引在一个位置,那么这时set是无法区分的,有人数当遍历某个数的时候把它从集合中删除不就行了吗,就会解决现在这个问题...n时判断,target-n是否在map中,如果在则返回索引,这是还是会出现上述的两个问题,首先如果有多个数重复的时候,那么map中同一个数它的value值存放的是,这些相同数的最后一个索引,所以我们在判断是否存在这样一对数的时候再加上条件...,其实还可以扩展到三个数,问题描述可以是这样,从一个数组中找出三个数的索引,让他们的和等于0,如果用穷举法的话,那么时间复杂度将达到o(n*n*n),但是如果运用上面的思路的话,遍历数组,选取一个数作为
小小白:有研究过。 面试官:使用Starters方式快速构建项目,那么默认使用的日志工具是什么?...面试官:默认配置下Spring Boot应用启动时,日志会输出一个banner图案,输出的内容可以修改吗?...小小白:可以的,在src/main/resource目录下新建一个banner.txt文本,里面写入自己想修改的内容即可。 面试官:那要是想关闭这个banner的输出,如果操作?...小小白:有两种方法:修改默认配置和硬编码。...面试官:有时我们想不同的环境有不同的日志输出配置,这个可以通过配置实现吗? 小小白:使用Logback作为日志工具,Spring Boot对它支持了多环境切换。
♣ 题目部分 在Oracle中,如何从执行计划初步判断SQL的性能问题?...♣ 答案部分 从以下几点去考虑: l 执行计划关注点 l 预估返回行数 l 真实返回行与逻辑读比率 l 预估行数和真实返回行数的差异 l Predicate Information部分是否有隐式类型转换...此外,还有一些其它需要注意的地方,例如COST花费特别大的步骤、全表扫描的步骤、FILTER的操作等等,都是需要特别关注的地方,这里就不详细列举了,总之,看执行计划和看AWR报告一样,需要具有一双敏锐的鹰眼...,最主要的是找出SQL的性能瓶颈。...本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。
”, Sun的JAVA之父, 贝尔实验室的C++之父 起点提得有些高了,今天和大家分享的案例是一个很简单的sql语句,在MySQL中能够解析出问题,但在Oracle中就可以成功解析,通过这一个细节也能够看出一些...Oracle和MySQL中的一些差别。...可以看出问题是一个很细小的问题,严格来说,确实是语句写得不够严谨。但在我的印象中Oracle似乎对这钟情况也是手到擒来,印象中没有出现过此类问题。...我们来简单在MySQL和Oracle中模拟一下这个问题,看看结果如何。...,弄点儿水花,对于sql解析器更深入的问题,如果细究,从MySQL代码层面能够分析出问题来就一个基本目标了。
【数据库系统概述】 常用的数据库有MySql、oracle等。不同数据库都支持sql标准,并且不同数据库在sql标准的基础上进行了一些扩充。...对于数据库的学习包括:sql>过程、触发器等内容,其中重要程度如下: sql>过程、触发器等 oracle数据库: 1、oracle的开发部分,包含两个部分:sql+plsql编程 2、oracle...查询所有的表 查看数据表的结构DESC:desc emp; 执行host命令:host+命令 host dir; 关于原始用户的问题: 恢复原始数据: 1、登陆sys用户: conn sys/Oracle123456...需求一:公司中要求每个部门一组进行拔河比赛 需要部门列的内容需要重复 select * from emp job和deptno有重复内容,最好对有重复内容的列进行分组 需求二:在一个班级中要求男女各一组进行辩论比赛...表明 set a=b where 【事务处理】 指同一个session中的所有sql语句整体执行 服务器通过session来区分不同的用户,每一个session对应一个用户 原子性、一致性、隔离性和持久性
事实上在我27年性能优化的生涯中,我非常幸运能够与一群优秀的工程师共事,并互相学习一起进步,所以Oracle在性能优化上的提升和改进这不是我一个人的功劳,我经常会给团队里年轻的成员这样的建议,在工作中树立榜样...我想我在性能优化中第一个挑战是一个隐式数据类型转换问题,是最令人难忘的。原因有很多: - 可以加快系统的数量级! - 人们今天仍然犯同样的错误!...我们团队的目标是展示和分享Oracle数据库技术的真正力量和价值给我们的用户。 我很幸运,我有一个非常有才华的团队,他们能够跟我一起探索和进步,实现我的想法。...问题九:Oracle数据库的优化器在版本的更新中不断改进,在12.2中有哪些关于优化器的改进是您比较关注的呢,或者您觉得比较重要的一些改变,可以跟大家分享一下 Andrew :The Oracle...问题十一:有很多的技术爱好者可能会关注这次的采访,我们很想了解关于RWP更多的信息,关于你们的团队呀,管理呀,或者分享计划之类的东西,您愿意跟大家介绍一下吗?
编辑手记:最近很多朋友会问关于数据库用户授权的问题,经常问这样的问题,我能不能直接给用户DBA的角色,多方便。恩,方便是方便了,恶意操作和误操作也方便了。今天再苦口婆心告诉你,过度授权有哪些风险。...在数据库中,EXECUTE/CREATE ANY PROCEDURE都是非常重要的权限,如果被授予普通用户,则可能为数据库带来安全风险。...以下是在Oracle Database 8.1.7中的测试,首先创建了两个测试用户: ?...在Oracle 9i中,如果用户具有EXECUTE/CREATE ANY PROCEDURE的权限,则同样用户可以做出很多跨越常规的授权: ?...现在EXECUTE ANY PROCEDURE的权限,可以使用户执行创建的过程,进行跨越职权的授权: SQL> execute system.do('grant dba to eygle'); PL/SQL
领取专属 10元无门槛券
手把手带您无忧上云