theme: smartblue 在SQL中,SUM函数是用于计算指定字段的总和的聚合函数。...语法通常如下: SELECT SUM(column_name) AS total_sum FROM table_name; 然而,在使用SUM函数时,对于字段中的NULL值,需要特别注意其处理原则,以确保计算结果的准确性...下面将详细介绍SUM函数在不同情况下对NULL值的处理方式。...where id in (1,2); 查询SQL-存在非NULL的情况 select sum(amount) from balance; 在存在非NULL值的情况下, SUM函数会将所有非NULL值相加...这确保了计算结果的准确性,即使在记录集中存在部分NULL值。 在实际应用中,确保对字段的NULL值进行适当处理,以避免出现意外的计算结果。
♣ 题目部分 在Oracle中,如何得到已执行的目标SQL中的绑定变量的值?...♣ 答案部分 当Oracle解析和执行含有绑定变量的目标SQL时,如果满足如下两个条件之一,那么该SQL中的绑定变量的具体输入值就会被Oracle捕获: l 当含有绑定变量的目标SQL以硬解析的方式被执行时...l 当含有绑定变量的目标SQL以软解析或软软解析的方式重复执行时,Oracle在默认情况下至少得间隔15分钟才会捕获一次。...,Oracle只会捕获那些位于目标SQL的WHERE条件中的绑定变量的具体输入值,而对于那些使用了绑定变量的INSERT语句,不管该INSERT语句是否是以硬解析的方式执行,Oracle始终不会捕获INSERT...查询视图V$SQL_BIND_CAPTURE或V$SQL可以得到已执行目标SQL中绑定变量的具体输入值。
当开始研究数据科学时,我经常面临一个问题,那就是为我的特定问题选择最合适的算法。在本文中,我将尝试解释一些基本概念,并在不同的任务中使用不同类型的机器学习算法。...如果标签来自无序的值的有限的数量,那么它就是分类。 ? 无监督学习 在无监督的学习中,我们关于对象的信息知道地较少,特别是,训练集是没有标签的。那么,我们现在的目标是什么?...每一个分割都被选择,以最大化某些泛函。在分类树中,我们使用交叉熵和Gini指数。在回归树中,我们最小化了下降区域的点的目标值的预测变量和我们分配给它的值之间的平方误差的总和。 ?...首先,我们不知道集群的数量。其次,结果取决于在开始时随机选择的点,而且算法并不能保证我们能达到泛函的全局的最小值。 5.主成分分析(PCA) 你是否曾在考试的前一天傍晚甚至最后几个小时才开始准备?...6.神经网络 当我们讨论逻辑回归的时候,我已经提到过神经网络。在非常具体的任务中,有许多不同的架构是有价值的。更常见的是,它由一系列的层或组件组成,它们之间有线性连接,并遵循非线性关系。
INFO: [INS-07001] 在 BeanStore 中找不到属性 ‘ORACLE_HOME’ 的值。...INFO: [INS-07001] 在 BeanStore 中找不到属性 ‘ORACLE_BASE’ 的值。...INFO: [INS-07001] 在 BeanStore 中找不到属性 ‘ORACLE_HOSTNAME’ 的值。...INFO: [INS-07001] 在 BeanStore 中找不到属性 ‘ORACLE_HOME’ 的值。...INFO: [INS-07001] 在 BeanStore 中找不到属性 ‘ORACLE_BASE’ 的值。
♣ 题目部分 在Oracle中,SQL概要(SQL Profile)的作用是什么?...♣ 答案部分 SQL Profile就是为某条SQL语句提供除了系统统计信息、对象(表和索引等)统计信息之外的其它信息,比如运行环境、额外的更准确的统计信息,以帮助优化器为SQL语句选择更适合的执行计划...使用SQL Profile的两个目的:①锁定或者说是稳定执行计划。②在不能修改应用中的SQL的情况下使SQL语句按指定的执行计划运行。...SQL Profile最大的优点是在不修改SQL语句和会话执行环境的情况下去优化SQL的执行效率,适合无法在应用程序中修改SQL时。...('FULL(t1@SEL$1)')是这里的格式如何写,在Mos上的文章note 215187.1中的sqlt.zip的目录utl中提供了脚本coe_xfr_sql_profile.sql可以生成这些信息
原文地址:https://oracle-base.com/articles/18c/alter-system-cancel-sql-18c 原文作者:Tim Hall Oracle Database...如果 SQL_ID 不写,则代表是在当前指定会话中运行的 SQL。...参考如下: -- 当前实例的会话中的当前 SQL ALTER SYSTEM CANCEL SQL '738, 64419'; -- INST_ID = 1 的实例会话中的当前 SQL ALTER SYSTEM...指定要取消的会话 在后台会话中取消 SQL 语句可能具有很大的破坏性,因此在查询会话和 SQL 时要非常小心。...= 'BACKGROUND'; 然后可以将相关值替换到前面部分中的命令 SID, SERIAL#, INST_ID and SQL_ID 中。
♣ 题目部分 在Oracle中,什么是索引的选择性? ♣ 答案部分 索引的选择性(Index Selectivity,索引的选择度或索引的选择率)是指索引列中不同值的记录数与表中总记录数的比值。...索引的选择性的取值范围是[0,1]。例如,某个表的记录数是1000条,而该表的索引列的值只有900个不同的值(有100个是相同或是空),所以,该列索引的选择性为900/1000=0.9。...对于索引的选择性,值越高那么表示该列索引的效率也就越高。...可以使用如下的SQL来计算索引的选择性: SELECT COUNT(DISTINCT NAME)/COUNT(*) FROM TB_A; 这种方法的优点是在创建索引前就能评估索引的选择性。...选择性越接近1,那么该索引就越好。 本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。
♣ 题目部分 在Oracle中,SQL优化在写法上有哪些常用的方法? ♣ 答案部分 一般在书写SQL时需要注意哪些问题,如何书写可以提高查询的效率呢?...如果进行比较的两个值的数据类型不同,那么Oracle必须将其中一个值进行类型转换使其能够比较。这就是所谓的隐式类型转换。通常当开发人员将数字存储在字符列时会导致这种问题的产生。...由于转换是在每行都进行的,这会导致性能问题。一般情况下,当比较不同数据类型的数据时,Oracle自动地从复杂向简单的数据类型转换,该规则和MySQL中的隐式类型转换是一致的。...因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择。然而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。...(29)选择合适的索引。Oracle在进行一次查询时,一般对一个表只会使用一个索引。
♣ 题目部分 在Oracle中,SQL语句的执行过程有哪些? ♣ 答案部分 Oracle数据库里SQL语句的执行过程可以如下图所示: ?...在查询转换过程中,Oracle会根据一些规则来决定是否对目标SQL执行查询转换,这些规则在Oracle不同的版本里不尽相同。...在Oracle 9i中,查询转换是独立于优化器的,它与优化器的类型无关,但是从Oracle 10g开始,Oracle会对某些类型的查询转换(比如子查询展开、复杂视图合并等)分别计算经过查询转换后的等价改写...只有当等价改写后SQL的成本值小于未经过查询转换的原始SQL的成本值时,Oracle才会对目标SQL执行查询转换。在执行完查询转换后,原目标SQL可能就被Oracle改写了,当然也有可能没有改写。...在这个步骤里,Oracle会根据不同的优化器类型(CBO或RBO)采用不同的判断原则,从执行完查询转换后得到的目标SQL的诸多可能的执行路径中选择一条效率最高的路径来作为其执行计划,即查询优化的输入就是执行完查询转换后得到的等价改写
♣ 题目部分 在Oracle中,SQL如何优化?SQL优化的关注点有哪些? ♣ 答案部分 随着数据库中数据量的增长,系统的响应速度就成为目前系统需要解决的最主要的问题之一。...对于一个系统不是简单地能实现其功能就可以了,而是要写出高质量的SQL语句,提高系统的可用性。 在多数情况下,Oracle使用索引来更快地遍历表,优化器主要根据定义的索引来提高性能。...(13)在创建表的时候,应尽量建立主键,可以根据实际需要调整数据表的PCTFREE参数。 SQL优化的一般性原则如下所示: l 目标: 减少服务器的资源消耗(主要是磁盘I/O)。...l 设计方面: ① 尽量依赖Oracle的优化器,并为其提供条件。 ② 建立合适的索引,注意索引的双重效应,还有列的选择性。...l 编码方面: 参考【1.2.5.2 SQL优化在写法上有哪些常用的方法?】。 本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。
在执行全表扫描时一次读取的block的数量. db_file_multiblock_read_count的设置要受OS最大IO能力影响,也就是说,如果 你系统的硬件IO能力有限, 即使设置再大的db_file_multiblock_read_count...的限制, 目前Oracle所支持的最大db_file_multiblock_read_count 值为128....我们可以通过db_file_multiblock_read_count来测试Oracle在不同系统下,单次IO最大所能读取得数据量: $ sqlplus "/ as sysdba" SQL*Plus:...block还和很多因素有关,比如存储是否连续,磁盘是否经过条带等方式划分,并且Oracle的 单次IO读取不能跨越Extent边界等.某些平台还和操作系统的参数设置有关....大家可以测试一下不同的平台,Oracle的单次IO最多可以读取的Block数量.
♣ 题目部分 在Oracle中,coe_xfr_sql_profile.sql脚本的作用是什么?...♣ 答案部分 使用coe_xfr_sql_profile.sql脚本生成sqlprof_attr数据 最麻烦的sqlprof_attr('FULL(t1@SEL$1)')是这里的格式如何写,在Mos上的文章...note 215187.1中的sqlt.zip的目录utl中提供了脚本coe_xfr_sql_profile.sql可以生成这些信息。...COE_XFR_SQL_PROFILE completed. 6.替换文件coe_xfr_sql_profile_cpk9jsg2qt52r_3384190782.sql中的SYS.SQLPROF_ATTR...has been created COE_XFR_SQL_PROFILE_cpk9jsg2qt52r_3384190782 completed 8.查看产生的sql profile,此时原语句在不加
♣ 题目部分 在Oracle中,coe_load_sql_profile.sql脚本的作用是什么?...♣ 答案部分 可以使用coe_load_sql_profile.sql脚本直接固定执行计划,该脚本也可以实现直接把sqlprofile直接迁移到其它库中。...很多DBA习惯于使用coe_xfr_sql_profile.sql脚本来固定SQL执行计划,但是这个脚本操作起来比较麻烦,而且容易出错。这个脚本的正确用途是用来做不同数据库之间SQL执行计划的固定。...最方便的脚本是:coe_load_sql_profile.sql,使用这个脚本,只需要输入几个参数,就能完成快速恢复执行计划的任务。...SQL> 6.查看产生的sql profile,此时原语句在不加hint的情况下也走全表扫了select * from dba_sql_profiles; SQL>set line 9999 SQL>
♣ 题目部分 在Oracle中,如何查找未使用绑定变量的SQL语句?...⊙ 【DB笔试面试586】在Oracle中,什么是自适应游标共享(4)?⊙ 【DB笔试面试586】在Oracle中,什么是自适应游标共享(3)?...⊙ 【DB笔试面试586】在Oracle中,什么是自适应游标共享(2)?⊙ 【DB笔试面试586】在Oracle中,什么是自适应游标共享(1)?...⊙ 【DB笔试面试585】在Oracle中,什么是常规游标共享?⊙ 【DB笔试面试584】在Oracle中,如何得到已执行的目标SQL中的绑定变量的值?...⊙ 【DB笔试面试583】在Oracle中,什么是绑定变量分级?⊙ 【DB笔试面试582】在Oracle中,什么是绑定变量窥探(下)?
♣ 题目部分 在Oracle中,固定SQL执行计划的方法有哪些?...♣ 答案部分 在实际项目中,通常在开发环境下,一些SQL执行没有任何功能问题,而当到了生产环境或生产环境的数据量发生较大的变量时,其SQL的执行效率非常低。...此时如果更改SQL,那么可能需要重新修改源程序以及重新编译程序。如果修改源程序的成本比较大,那么可以使用一些方法在不改变源应用程序的情况下更改特定SQL的执行计划并固定下来。...因为在SQL语句的执行计划发生更改时,可能存在性能风险。SQL计划发生更改的原因有很多,如优化程序版本、优化程序统计信息、优化程序参数、方案定义、系统设计和SQL概要文件创建等。...本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。
♣ 题目部分 在Oracle中,如何查到会话正在执行的SQL语句?...通过SQL_ID这个字段,可以获取到某个会话正在执行的SQL语句。...SQL_ID VARCHAR2(13) 正在执行的SQL语句ID SQL_CHILD_NUMBER NUMBER 正在执行的SQL语句的子游标的ID,从0开始 SQL_EXEC_START DATE 该会话开始执行该...SQL语句的时间。...对应于V$SQL_MONITOR.SQL_EXEC_ID列。 本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
题目部分 在Oracle中,如何监控数据库中的非常耗费性能SQL语句?...利用触发器还可以限制用户在某一段固定时间才能登陆数据库。接下来介绍一下如何利用SQL的实时监控特性来监控数据库中的非常耗费性能SQL语句。...Oracle的JOB分为一般性的JOB和轻量级的JOB(Lightweight Jobs)。使用轻量级的JOB可以提高JOB的性能。因为轻量级JOB适合于在短时间内执行非常频繁的JOB。...另外,对于监控中使用的参数表为XB_SQL_PARAMETERS_LHR。JOB每次都会从该表中读取到配置参数的值,该表的查询结果如下图所示: ? 下面简单测试一下上边的监控脚本的效果。.../*+ MONITOR */ XB_SQL_MONITOR_LHR T SET T.SQL_TEXT='XXXXXXXXXXXX'; 让以上3条SQL在不同的会话运行,等待大约5分钟后然后查看监控效果
♣ 题目部分 在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...① PROCESS:进程名称,如ARCH、RFS、MRP0等 ② CLIENT_PID:在备库查询时对应的Primary数据库中的进程,如ARCH、LGWR等,在主库查询时就是后台进程 ③ SEQUENCE...#:归档序号 ④ STATUS:进程的当前状态,值较多,常见的有: l ALLOCATED:正准备连接Primary数据库 l ATTACHED:正在连接Primary数据库 l CONNECTED:已连接至
♣ 题目部分 在Oracle中,逻辑DG维护中常用到的SQL语句有哪些?...DG在应用完归档日志后会自动删除该归档文件,这一特性是由逻辑DG中的2个参数控制的,它们分别为LOG_AUTO_DELETE和LOG_AUTO_DEL_RETENTION_TARGET。...LOG_AUTO_DELETE的值默认为TRUE,表示逻辑DG在应用完归档日志后会自动删除该归档文件,默认24小时之后删除(由参数LOG_AUTO_DEL_RETENTION_TARGET控制)。...逻辑Standby数据库接收到的归档文件并不会显示在V$ARCHIVED_LOG视图中,因此以为通过RMAN中的配置自动删除这些文件的希望也是会落空的。...最后根据显示的路径找到这些文件,然后在操作系统中删除即可。
♣ 题目部分 在Oracle中,如何从执行计划初步判断SQL的性能问题?...l 递归调用(recursive calls)值是否过大 l 表的访问次数是否过大 l 注意表真实访问行数 l 查看是否在磁盘排序 l 注意A-Time时间列 l 注意Pstart、Pstop、PARTITION...此外,还有一些其它需要注意的地方,例如COST花费特别大的步骤、全表扫描的步骤、FILTER的操作等等,都是需要特别关注的地方,这里就不详细列举了,总之,看执行计划和看AWR报告一样,需要具有一双敏锐的鹰眼...,最主要的是找出SQL的性能瓶颈。...本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。
领取专属 10元无门槛券
手把手带您无忧上云