首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【DB笔试面试634】在Oracle中,什么是直方图(Histogram)?直方图的使用场合有哪些?

    在Oracle数据库中,CBO会默认认为目标列的数据在其最小值(LOW_VALUE)和最大值(HIGH_VALUE)之间是均匀分布的,并且会按照这个均匀分布原则来计算对目标列施加WHERE查询条件后的可选择率以及结果集的Cardinality,进而据此来计算成本值并选择执行计划。但是,目标列的数据是均匀分布这个原则并不总是正确的,在实际的生产系统中,有很多表的列的数据分布是不均匀的,甚至是极度倾斜、分布极度不均衡的。对这样的列如果还按照均匀分布的原则去计算可选择率与Cardinality,并据此来计算成本、选择执行计划,那么CBO所选择的执行计划就很可能是不合理的,甚至是错误的,所以,此时应该收集列的直方图。

    05

    【DB笔试面试628】Oracle的统计信息包括哪几种类型?

    Oracle数据库里的统计信息是一组存储在数据字典里,且从多个维度描述了数据库里对象的详细信息的一组数据。当Oracle数据库工作在CBO(Cost Based Optimization,基于代价的优化器)模式下时,优化器会根据数据字典中记录的对象的统计信息来评估SQL语句的不同执行计划的成本,从而找到最优或者是相对最优的执行计划。所以,可以说,SQL语句的执行计划由统计信息来决定,若没有统计信息则会采取动态采样的方式来生成执行计划。统计信息决定着SQL的执行计划的正确性,属于SQL执行的指导思想。若统计信息不准确,则会导致表的访问方式(例如应该使用索引,但是选择了全表扫描)、表与表的连接方式出现问题(例如应该使用HJ,但是使用了NL连接),从而导致CBO选择错误的执行计划。

    02

    【DB笔试面试565】在Oracle中,为什么索引没有被使用?

    “为什么索引没有被使用”是一个涉及面较广的问题。有多种原因会导致索引不能被使用。首要的原因就是统计信息不准,第二原因就是索引的选择度不高,使用索引比使用全表扫描效率更差。还有一个比较常见的原因,就是对索引列进行了函数、算术运算或其他表达式等操作,或出现隐式类型转换,导致无法使用索引。还有很多其它原因会导致不能使用索引,这个问题在MOS(MOS即My Oracle Support)“文档1549181.1为何在查询中索引未被使用”中有非常详细的解释,作者已经将相关内容发布到BLOG(http://blog.itpub.net/26736162/viewspace-2113670/)上了。下面是一些非常有用的检查项目。

    02

    SQLPLUS登陆命令「建议收藏」

    一.SQLPLUS登陆命令: 使用sqlplus: 10G之前的版本登陆时需要加引号(单、双引号皆可)如:sqlplus ” / as sysdba” sqlplus -prelim / as sysdba 从Oracle10g开始,sqlplus提供了一个参数选项-prelim,用这个参数,在系统已经hang的时候可以连接到SGA而不是数据库,也就是说没有session被创建。 sqlplus /nolog conn / as sysdba connect / assysdba conn sys/oracle assysdba SQL>conn bys/bys 已连接。 SQL>show user USER 为 “BYS” 使用服务名登陆,as sysdba即使用SYSDBA用户权限登陆 SQL>conn sys/oraclesys@orcl as sysdba 已连接。 查看用户权限: SQL>show user USER 为 “SYS” SQL>conn sys/oraclesys@orcl as sysoper 已连接。 SQL>show user USER 为 “PUBLIC” 登陆时可以使用IP+端口+服务名或主机名+端口+服务名 SQL>conn bys/bys@192.168.0.181:1521/orcl 已连接。 SQL>show user USER 为 “BYS” SQL>conn scott/tiger@xporacle:1521/orcl 已连接。 SQL>show user USER 为 “SCOTT” 总结如下: 直接在SQLPLUS启动时输入用户名密码的多种格式。 sqlplusscott/tiger sqlplus -prelim /nolog –数据库hang住时,可以这样登陆。 sqlplusscott/tiger@orcl sqlplus scott/tiger@192.168.2.18:1521/orcl sqlplusscott/tiger@xporacle:1521/orcl 如果监听运行在默认的1521端口,可以不写端口:如下: sqlplus bys/bys@192.168.1.211/bys3 如果不想在命令中输入密码,可以使用:或者为用监听名时: [oracle@bys3 dbs]$ sqlplus bys SQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 16 20:26:51 2014 Copyright © 1982, 2013, Oracle. All rights reserved. Enter password: sqlplussys/oraclesys as sysdba

    03

    陈胡:Apache SeaTunnel实现非CDC数据抽取实践

    导读:随着全球数据量的不断增长,越来越多的业务需要支撑高并发、高可用、可扩展、以及海量的数据存储,在这种情况下,适应各种场景的数据存储技术也不断的产生和发展。与此同时,各种数据库之间的同步与转化的需求也不断增多,数据集成成为大数据领域的热门方向,于是SeaTunnel应运而生。SeaTunnel是一个分布式、高性能、易扩展、易使用、用于海量数据(支持实时流式和离线批处理)同步和转化的数据集成平台,架构于Apache Spark和Apache Flink之上。本文主要介绍SeaTunnel 1.X在交管行业中的应用,以及其中如何实现从Oracle数据库把数据增量导入数仓这样一个具体的场景。

    02
    领券