首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

New in 12.2- 让每个PDB都拥有自己的 local undo表空间

12.1引入temp undo概念 ,12.2引入local undo,也就是每个pdb拥有自己的undo表空间(以前版本共用一个undo表空间),rac中每个pdb每个实例都有自己的undo。...关闭后在PDB中查询undo为CDB中共享的undo表空间。 >打开local undo: ? 重启数据库并对修改做查询 ? 连接到PDB1 ?...打开loacl undo后,自动为当前的PDB创建undo表空间,同时新创建pdb,自动创建自己的undo表空间 ?...可以通过配置pdb$seed的undo,从而使根据seed模板创建的pdb后undo表空间的名字、大小等: ? 修改undo表空间 ? 连接到CDB root ?...或者是直接在pdb$seed中删除undotbs1,之后创建的pdb都只有SEEDUNDOTS1表空间: ? 创建PDB数据库pdb4 ? 连接到pdb4 ?

1.3K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL从删库到跑路(五)——SQL查询

    外连接返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接或左连接)、右表(右外连接或右连接)或两个边接表(全外连接)中的所有数据行。...三者的共同点是都返回符合连接条件和查询条件(即:内连接)的数据行。不同点如下: 左外连接还返回左表中不符合连接条件单符合查询条件的数据行。 右外连接还返回右表中不符合连接条件单符合查询条件的数据行。...右连接: 右连接包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行。 右连接是左连接的反向连接。将返回右表的所有行。...全连接: 全连接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。MySQL不支持全外连接。...a.StudentID < 10; 第三、多表连接查询:先对第一个和第二个表按照两表连接做查询,然后用查询结果和第三个表做连接查询,以此类推,直到所有的表都连接上为止,最终形成一个中间的结果表,然后根据

    2.6K30

    【SQL调优】同事追着我骂,只因一句祖传SQL代码

    一、前言 每个程序员的身上,都背负着几行祖传代码,这些代码,没有注释,令人久久寻味 这不就在前几天,上家公司的同事突然找到我,晒出了我的一句祖传 sql..... 原文解析 ?...=或操作符,否则将导致引擎放弃使用索引而进行全表扫描 4)应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from...数据库的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表将被最先处理,在FROM子句中包含多个表的情况下, 你必须选择记录条数最少的表放在最后,如果有3个以上的表连接查询...1)如果三个表是完全无关系的话,将记录和列名最少的表,写在最后,然后依次类推 2)如果三个表是有关系的话,将引用最多的表,放在最后,然后依次类推 15、用TRUNCATE替代DELETE 16...、用WHERE子句替换HAVING子句 17、使用内部函数提高SQL效率 18、注意WHERE子句中的连接顺序 数据库采用自右而左的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他

    50110

    SQL命令 FROM(一)

    如果没有查询表数据,则FROM子句是可选的,如下所述。 多个表被指定为逗号分隔的列表,或者由其他JOIN语法分隔的列表。 可以为每个表名提供一个别名。...表连接 当在FROM子句中指定多个表名时, SQL将对这些表执行连接操作。 执行的连接类型由每对表名之间的连接关键字短语或符号指定。 当两个表名用逗号分隔时,将执行交叉连接。...将此关键字与%FIRSTTABLE和%STARTTABLE进行比较,这两个关键字都只指定初始连接表,而不指定完整的连接顺序。...此优化选项禁用“扁平化”(默认),它通过将子查询有效地集成子查询到查询中来优化包含量化的子查询的查询:将子查询的表添加到查询的FROM子句中,并将子查询中的条件转换为查询的WHERE子句中的联接或限制。...此优化选项通过将子查询作为内联视图添加到查询的FROM子句来禁用对包含子查询的查询的优化;子查询与查询字段的比较将作为联接移动到查询的WHERE子句。

    2.1K40

    关于sql和MySQL的语句执行顺序(必看)「建议收藏」

    第四步:如果 from 子句中的表数目多余两个表,那么就将vt3和第三个表连接从而计算笛卡尔乘积,生成虚拟表,该过程就是一个重复1-3的步骤,最终得到一个新的虚拟表 vt3。...第六步:group by 子句将中的唯一的值组合成为一组,得到虚拟表vt5。如果应用了group by,那么后面的所有步骤都只能得到的vt5的列或者是聚合函数(count、sum、avg等)。...原因在于最终的结果集中只为每个组包含一行。这一点请牢记。 第七步:应用avg或者sum选项,为vt5生成超组,生成vt6. 第八步:应用having筛选器,生成vt7。...二、mysql的执行顺序 1、SELECT语句定义 一个完成的SELECT语句包含可选的几个子句。...>WHERE子句->GROUP BY子句->HAVING子句->SELECT子句->ORDER BY子句->LIMIT子句->最终结果 每个子句执行后都会产生一个中间结果,供接下来的子句使用,如果不存在某个子句

    1.5K10

    关于sql和MySQL的语句执行顺序(必看!!!)

    那么就将右表在第二步中过滤掉的行添加进来,这样生成虚拟表 vt3 第四步:如果 from 子句中的表数目多余两个表,那么就将vt3和第三个表连接从而计算笛卡尔乘积,生成虚拟表,该过程就是一个重复1-...第五步:应用where筛选器,对上一步生产的虚拟表引用where筛选器,生成虚拟表vt4,在这有个比较重要的细节不得不说一下,对于包含outer join子句的查询,就有一个让人感到困惑的问题,到底在on...第六步:group by 子句将中的唯一的值组合成为一组,得到虚拟表vt5。如果应用了group by,那么后面的所有步骤都只能得到的vt5的列或者是聚合函数(count、sum、avg等)。...原因在于最终的结果集中只为每个组包含一行。这一点请牢记。 第七步:应用cube或者rollup选项,为vt5生成超组,生成vt6. 第八步:应用having筛选器,生成vt7。...子句->GROUP BY子句->HAVING子句->ORDER BY子句->SELECT子句->LIMIT子句->最终结果 每个子句执行后都会产生一个中间结果,供接下来的子句使用,如果不存在某个子句,

    3K40

    Oracle数据库增删改查

    查询什么就在SELECT 后面跟字段名称,比如DEMO中,让我们查询雇员编号、姓名、职位,这三个字段名就跟在SELECT 后面,而职位不是销售人员则是过滤条件,放在WHERE 后面 SELECT EMPNO...*4=60条, 最终多表查询出的数据就是两张表中的数据量的乘积,这样数据显然存在重复,这种现象叫做笛卡尔积,在查询的时候需要消除笛卡尔积,只需要在查询中增加一个WHERE子句,WHERE子句的过滤条件是两张数据表中的关联字段相等...,需要用到外连接查询,外连接查询又分为:左外连接查询和右外连接查询、全外连接查询 左外连接查询:可以让左表不满足条件的数据也显示 右外连接查询:可以让右表不满足条件的数据也显示 全外连接查询:可以让左表和右边不满足条件的数据都显示出来...,部门名称,部门位置,薪资等级 第一种内连接查询:在FROM 子句中查询多个数据来源,在WHERE子句中去掉笛卡尔积 第二种内连接查询:使用INNER JOIN 连接数据来源,在ON关键字之后去掉笛卡尔积...cid = 1003; (2)表结构的复制 a、复制表不包含数据 create table t_class_copy2 as select * from t_class where 1 1;

    1.6K10

    sql优化的几种方法面试题_mysql存储过程面试题

    什么时候【要】创建索引 (1)表经常进行 SELECT 操作 (2)表很大(记录超多),记录内容分布范围很广 (3)列名经常在 WHERE 子句或连接条件中出现 什么时候【不要】创建索引 (1)表经常进行...INSERT/UPDATE/DELETE 操作 (2)表很小(记录超少) (3)列名不经常作为连接条件或出现在 WHERE 子句中 索引优缺点: 索引加快数据库的检索速度 索引降低了插入、删除、修改等维护任务的速度...①选择最有效率的表名顺序 数据库的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表将被最先处理 在FROM子句中包含多个表的情况下: 如果三个表是完全无关系的话,将记录和列名最少的表...,写在最后,然后依次类推 也就是说:选择记录条数最少的表放在最后 如果有3个以上的表连接查询: 如果三个表是有关系的话,将引用最多的表,放在最后,然后依次类推。...between salgrade.losal and salgrade.hisal) ②WHERE子句中的连接顺序 数据库采用自右而左的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE

    78420

    数据库相关

    FROM 表名 表别名 使用as设置别名,别名最好不要使用中文 简单查询中两个字句: 1、select字句 distinct 表示去除重复列,仅限于所有列的内容都相同 2、from子句 关于字句的执行顺序...FROM 表名 表别名 where 条件语句 连接多个条件的逻辑运算符:and or not 限定查询有三个字句,执行步骤为: 1、执行from字句,来控制数据的来源 2、执行where字句,使用限定对数据行过滤...dual; 1 3、日期函数 日期的计算操作和日期函数的使用 1、取得当前日期:利用sysdate伪列取得当前时间 select sysdate from dual;20-8月 -16 默认情况下只包含了年月日三个内容...子句中也可以出现多个字段 范例:要求查询出每个部门的详细信息 包含字段:部门编号、名称、位置、平均工资、总工资、最高工资、最低工资、部门人数。...,部门名称,部门人数,部门平均工资 with子句 可以使用with创建临时表查询 范例:查询每个部门的编号,名称、位置、部门平均工资,人数(使用with) 范例:查询每个部门工资最高的雇员编号、姓名、职位

    1.9K50

    MySQL常用SQL语句:插入更新删除查询

    用这个主键组合包含的字段作为主键,这个组合在数据表中是唯一,且加了主键索引。 1....sname like '刘%' 查询不包含“刘”的记录 select * from student where sname not like '%刘%' (8) 在where子句中规定多个值(使用in...sc.sno = student.sno left join course on sc.cno = course.cno 使用join关联三个表的语法格式: 表A-------------------...自然连接(使用nature join) 自然连接就是USING子句的简化版,它找出两个表中相同的列作为连接条件进行连接。有左自然连接,右自然连接和普通自然连接之分。...当一个查询块的SELECT子句或者WHERE子句中嵌套了另一个查询块的查询语句就称为嵌套查询。最外层的查询称为外层查询或父查询,最内层的查询称为内层查询或子查询。

    6.7K30

    PostgreSQL中的查询简介

    对于我们将在本指南中使用的示例数据库,请想象以下场景: 你和几个朋友都互相庆祝你的生日。每次,团体成员都会前往当地的保龄球馆,参加一个友好的比赛,然后每个人都会前往您准备生日人最喜欢的一餐的地方。...除了FROM和WHERE之外,最常用的查询子句之一是GROUP BY子句。它通常在您对一列执行聚合函数时使用,但与另一列中的匹配值相关。 例如,假设您想知道有多少朋友更喜欢您制作的三个主菜中的每一个。...但是,如果您使用带有聚合函数的WHERE子句,它将返回错误,就像下面尝试查找哪些边是您的至少三个朋友的最爱一样: SELECT COUNT(name), side FROM dinners WHERE...但是,在许多情况下,有必要查询多个表的内容。我们将在下一节中介绍几种可以执行此操作的方法。 查询多个表 通常,数据库包含多个表,每个表包含不同的数据集。SQL提供了一些在多个表上运行单个查询的方法。...一个LEFT JOIN条款从“左”表,只有右表的匹配记录返回的所有记录。在外连接的上下文中,左表是FROM子句引用的表,右表是JOIN语句后引用的任何其他表。

    12.4K52

    数据库mysql的执行顺序(sql语句大全实例教程)

    第四步:如果 from 子句中的表数目多余两个表,那么就将vt3和第三个表连接从而计算笛卡尔乘积,生成虚拟表,该过程就是一个重复1-3的步骤,最终得到一个新的虚拟表 vt3。...第五步:应用where筛选器,对上一步生产的虚拟表引用where筛选器,生成虚拟表vt4,在这有个比较重要的细节不得不说一下,对于包含outer join子句的查询,就有一个让人感到困惑的问题,到底在on...第六步:group by 子句将中的唯一的值组合成为一组,得到虚拟表vt5。如果应用了group by,那么后面的所有步骤都只能得到的vt5的列或者是聚合函数(count、sum、avg等)。...原因在于最终的结果集中只为每个组包含一行。这一点请牢记。 第七步:应用cube或者rollup选项,为vt5生成超组,生成vt6. 第八步:应用having筛选器,生成vt7。...>WHERE子句->GROUP BY子句->HAVING子句->ORDER BY子句->SELECT子句->LIMIT子句->最终结果 每个子句执行后都会产生一个中间结果,供接下来的子句使用,如果不存在某个子句

    1.6K20

    Mysql_基础

    在使用UNION 运算符时,应保证每个联合查询语句的选择列表中有相同数量的表达式,并且每个查询选 择表达式应具有相同的数据类型,或是可以自动将它们转换为相同的数据类型。...连接可以在SELECT 语句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出连接时有助于 将连接操作与WHERE子句中的搜索条件区分开来。...交叉连接(CROSS JOIN)没有WHERE 子句,它返回连接表中所有数据行的笛卡尔积,其结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。...而采用外连接时,它返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行。...删除记录 要从表中删除一个或多个记录,需要使用SQL DELETE语句。你可以给DELETE 语句提供WHERE 子句。WHERE子句用来选择要删除的记录。

    2.4K70

    关于sql和MySQL的语句执行顺序(必看!!!)

    第四步:如果 from 子句中的表数目多余两个表,那么就将vt3和第三个表连接从而计算笛卡尔乘积,生成虚拟表,该过程就是一个重复1-3的步骤,最终得到一个新的虚拟表 vt3。...第五步:应用where筛选器,对上一步生产的虚拟表引用where筛选器,生成虚拟表vt4,在这有个比较重要的细节不得不说一下,对于包含outer join子句的查询,就有一个让人感到困惑的问题,到底在on...第六步:group by 子句将中的唯一的值组合成为一组,得到虚拟表vt5。如果应用了group by,那么后面的所有步骤都只能得到的vt5的列或者是聚合函数(count、sum、avg等)。...原因在于最终的结果集中只为每个组包含一行。这一点请牢记。 第七步:应用cube或者rollup选项,为vt5生成超组,生成vt6. 第八步:应用having筛选器,生成vt7。...>WHERE子句->GROUP BY子句->HAVING子句->ORDER BY子句->SELECT子句->LIMIT子句->最终结果 每个子句执行后都会产生一个中间结果,供接下来的子句使用,如果不存在某个子句

    1.5K30

    SQL知识点总结

    B:HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数。HAVING 子句可以引用选择列表中显示的任意项。  ...、GROUP BY 和 HAVING 子句的正确序列对编写高效的查询代码会有所帮助:     WHERE 子句用来筛选 FROM 子句中指定的操作所产生的行。    ...GROUP BY 子句用来分组 WHERE 子句的输出。     HAVING 子句用来从分组的结果中筛选行。 对于可以在分组操作之前或之后应用的搜索条件,在 WHERE 子句中指定它们更有效。...建议将所有这些搜索条件放在 WHERE 子句中而不是 HAVING 子句中。 二、重点写多表连接查询 若一个查询涉及到两个或两个以上的表,则称之为多表连接查询。...重点(1):一旦为表指定了别名,则在查询语句中的其他地方,所有用到表名的地方都要使用别名,而不能再使用原表名。为表指定别名的格式:表名|表别名 (2)每连接一张表,就需要加一个JION子句。

    2.3K10

    sql必知必会2

    : 子句中可以包含任意数目的列 子句中列出的每列都必须是检索列或者有效的表达式,不能是聚集函数 子句中不可带有长度可变的数据类型 如果分组列中含有NULL行,不管是一行还是多行,都当做一行进行返回 group...by子句必须在where语句之后,在order by子句之前 过滤分组having where指定的过滤行而不是分组;having支持所有的where操作符。...= products.cust_id -- 通过两个表中的相同字段进行联结 笔记:必须有where子句。...C2.cust_name and C2.cust_contact = 'Jim Jones'; 外连接 外连接中包含了那些在相关表中没有关联行的行,包含两种情况: 左连接 右连接 select customers.cust_id...; -- 分组条件指定 总结 一般使用内连接,外连接也是有效的 提供连接条件,否则得到的是笛卡尔积 一个联结中可以包含多个表;每个联结可以采用不同的联结类型

    1K10

    SQL 性能优化 总结

    driving table)将被最先处理,在FROM子句中包含多个表的 情况下,你必须选择记录条数最少的表作为基础表。...(2) WHERE子句中的连接顺序:SQL Server、 ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他 WHERE条件之前, 那些可以过 滤掉最大数量记录的条件必须写在...(非oracle中)on、where、having这三个都可以加条件的子句中,on 是最先执行,where 次之,having 最后,因为on 是先把不符合条件的记录过滤后才进行统 计,它就可以减少中间运算要处理的数据...(14)使用表的别名(Alias): 当在SQL语句中连接多个表时, 请使用表的别名并把别名前缀于每个Column上.这样一来, 就可以减少解析的时间并减少那些由Column歧义引起的语法错误。...定期的重构索引是有必要的.: ALTER INDEX REBUILD (18) 用EXISTS替换DISTINCT: 当提交一个包含一对多表信息(比如部门表和雇员表)的查询时,避免在 SELECT子句中使用

    1.9K20
    领券