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

DB笔试面试511】如何在Oracle写操作系统文件,写日志?

题目部分 如何在Oracle写操作系统文件,写日志? 答案部分 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。...若想普通用户使用该包,则需要在SYS用户下执行“GRANT EXECUTE ON DBMS_LOCK TO USER_XXX;”命令。 Oracle使用哪个包可以生成并传递数据库告警信息?...在CLIENT_INFO列存放程序的客户端信息;MODULE列存放主程序名,包的名称;ACTION列存放程序包的过程名。该包不仅提供了设置这些列值的过程,还提供了返回这些列值的过程。...如何在存储过程暂停指定时间? DBMS_LOCK包的SLEEP过程。例如:“DBMS_LOCK.SLEEP(5);”表示暂停5秒。 DBMS_OUTPUT提示缓冲区不够,怎么增加?...如何在Oracle写操作系统文件,写日志? 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。

28.7K30

DB笔试面试562】在Oracle,如何监控索引使用状况?

♣ 题目部分 在Oracle,如何监控索引使用状况?...♣ 答案部分 在开发应用程序时,可能会建立很多索引,那么这些索引使用到底怎么样,是否有些索引一直都没有用到过,在这种情况下就需要对这些索引进行监控,以便确定它们的使用情况,并为是否可以清除它们给出依据...监控索引有两种方式: 1、直接监控索引使用情况 (1)设置所要监控的索引:ALTER INDEX IDX_T_XX MONITORING USAGE; (2)查看该索引有没有被使用:SELECT *...另外,为了避免使用V$OBJECT_USAGE只能查询到当前用户下索引的监控情况,可以使用如下语句查询数据库中所有被监控索引使用情况: SELECT U.NAME OWNER, IO.NAME...可以从视图DBA_HIST_SQL_PLAN获取到数据库中所有索引的扫描次数情况,然后根据扫描次数和开发人员沟通是否需要保留索引

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

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

♣ 题目部分 在Oracle,为什么索引没有被使用? ♣ 答案部分 “为什么索引没有被使用”是一个涉及面较广的问题。有多种原因会导致索引不能被使用。...还有很多其它原因会导致不能使用索引,这个问题在MOS(MOS即My Oracle Support)“文档1549181.1为何在查询索引未被使用”中有非常详细的解释,作者已经将相关内容发布到BLOG(...下面是一些非常有用的检查项目。 一、快速检查 n 表上是否存在索引? n 索引是否应该被使用? 二、索引本身的问题 n 索引索引列是否在WHERE条件(Predicate List)?...n 索引列是否用在连接谓词(Join Predicates)? n 连接顺序(Join Order)是否允许使用索引? n 索引列是否在IN或者多个OR语句中?...n 一个索引是否与其它的索引有相同的等级或者成本(Cost)? n 索引的选择度是否不高? n 在总体成本,表扫描的成本是否占大部分? n 访问空索引并不意味着比访问有值的索引高效?

1.1K20

DB笔试面试572】在Oracle,模糊查询可以使用索引吗?

♣ 题目部分 在Oracle,模糊查询可以使用索引吗?...♣ 答案部分 分为以下几种情况: (1)若SELECT子句只检索索引字段,那么模糊查询可以使用索引,例如,“SELECT ID FROM TB WHERE ID LIKE '%123%';”可以使用索引...② 模糊查询形如“WHERE COL_NAME LIKE '%ABC';”不能使用索引,但是可以通过REVERSE函数来创建函数索引才能使用索引。...如果字符串ABC在原字符串位置不固定,那么可以通过改写SQL进行优化。改写的方法主要是通过先使用子查询查询出需要的字段,然后在外层嵌套,这样就可以使用索引了。...④ 建全文索引使用CONTAINS也可以用到域索引

9.7K20

数据系统分区设计 - 分区与二级索引

每个列表都有个唯一的文档ID,以此对DB进行分区,分区0 的ID 0~499,分区1的 ID 500~999。...用户搜车,可按颜色和厂商过滤,所以需要在颜色和厂商设置二级索引(在文档DB这些是字段(field),关系DB这些是列(column))。...这种索引方法,每个分区完全独立,各自维护自己的二级索引,且只负责自己分区内的文档,而不关心其他分区的数据。每当需要写DB(添加,删除或更新文档),只需处理包含你正在编写的目标文档ID的分区。...大多DB供应商建议用户自己构建合适的分区方案,尽量由单个分区满足二级索引查询,但这并不总是可行,尤其是当查询中使用多个二级索引时(例如同时需按颜色、制造商两个条件查询)。...但对词条分区,这需要跨分区的分布式事务,写入速度将受到极大影响,所以现有 DB 都不支持同步更新二级索引。 实践,对全局二级索引更新都是异步(即若在写入后马上读索引,则更新可能尚未反映在索引)。

52720

无主复制系统(1)-节点故障时写DB

在亚马逊将其用于其内部的Dynamo系统1后,它再一次成为流行的DB架构。...在一些无主实现,客户端直接将写请求发到多副本,而另一些实现,有一个协调者(coordinator)节点代表客户端进行写入,但与主节点的数据库不同,协调者不负责维护写入顺序。...这种设计差异对DB使用方式有深远影响。 4.1 节点故障时写DB 假设三副本DB,其中一个副本当前不可用,或许正在重启以安装系统更新。在主节点复制模型下,若要继续处理写,则则需执行故障切换。...Voldemort目前无反熵过程。若无反熵过程,由于【读修复】只在发生读取时才可能执行修复,那些很少访问的数据有可能在某些副本已丢失而无法再检测到,从而降低了写的持久性。...---- Dynamo不适用于Amazon以外的用户。 令人困惑的是,AWS提供了一个名为DynamoDB的托管数据库产品,它使用了完全不同的体系结构:它基于单领导者复制。 ↩︎

59930

MySQL InnoDB创建索引

二级索引的创建可以由用户在SQL自定义。...| a | b |,对这些字段的解释如下: 字段名 长度 描述 DB_ROW_ID 6B 一个单调递增的行ID DB_TRX_ID 6B 表示记录最后被插入或更新时对应的事务ID DB_ROLL_PTR...7B 指向回滚段的UNDO log 在聚簇索引的创建过程,若用户既没有定义主键,也没有符合要求的唯一非空列,则InnoDB使用DB_ROW_ID作为主键创建聚簇索引。...二级索引的判断依据是TABLE_SHARE->keys,keys代表了表定义的索引键值的数量,在创建二级索引的过程,会通过一个for循环扫描所有键,并为之创建二级索引,当然,主键已经创建了聚簇索引...还是以上文的表t为例,假设现在MySQL重启,如何在t上构建索引? step1: 创建聚簇索引 无论如何,聚簇索引都会第一个创建。

5.6K30

微服务架构下数据如何存储?有考虑过吗?

用 Memcached 做二级缓存来抗住一些高 QPS 的请求是很适合的,比如对于一些 Hot 商品的信息,可以放到 Memcached ,缓解 DB 压力。...在 SpringBoot 工程使用 Springboot-data 项目,可以很简单地和 Neo4j 进行集成,官方示例可以直接 checkout 查看 java-spring-data-neo4j...Ps:B-Tree、B+Tree 的结构适合做大于内存的数据的索引存储( MySQL 使用 B+ 树实现索引文件的存储),所以其更适合磁盘文件系统,一般不会用来实现 Memtable。...从多个 SSTables 读取数据。 合并结果集、返回。另外,对于“更新”操作,是直接更新在 Memtable 的,所以结果集会优先返回 Memtable 的数据。...使用 Btree、B+Tree 的索引需要每个数据都写两次,一次写入 redo-log、一次将数据写入 Tree 对应的数据页(Page)里。

4K10

数据库系统设计概述

上卷涉及可以在一个或多个维度累积和计算的数据的聚合。 OLAP 利于大数据量,数据更新少,经常使用大量数据做聚合统计的场景。OLTP 适合数据量小,频繁操作更新数据的场景。...目前已经成为 Apache 的开源项目。?官网 ?...下表总结了 Dynamo 使用的这些技术及每项技术的好处。 ?...写数据时,先将数据追加写入磁盘,然后更新内存 HashMap Index。 Hash 索引听起来过于简单,但确实是一种可行的索引方法。...压缩 数据压缩对数据库系统 I/O 性能的影响相当明显,它可以减少磁盘空间使用、降低带宽使用和提高吞吐量。数据库系统的数据存储、索引存储、数据转换、数据备份和网络通信都会用到相应的压缩技术。

1.9K60

面向未来,我们来聊一聊什么是现代化数据架构 | Q推荐

DynamoDB 使用主键来表示表项目。分区键用来构建一个非排序的散列索引,使得表可以进行分区,从而满足扩展性的需求。...在一个分区键决定的散列索引里,数据按照排序键进行排列,每个排序键所对应的数据行数没有上限,除非你有本地二级索引。 本地二级索引 (LSI) 可以选择与表不同的排序键,每个表分区对应一个索引分区。...每个分区键可以存储最多 10 GB 的数据,包括表分区和索引分区的数据量。 除本地二级索引,另外一种索引方式是全局二级索引 (GSI)。...而对于 LSI 来说,索引保存在表的分区,每个分区键值的存储上限是 10GB,使用的是表上的 RCU 和 WCU。...通过该实验,开发者们进一步了解了一些核心数据建模的策略,以及如何在游戏及其类似场景中使用 DynamoDB 构建现代化数据架构。

1.9K20

MYSQL MVCC 实现机理 与 知识漏洞要补

说来惭愧,被友人问了一些关于MYSQL 的问题,虽然算不上对答流,但也算是沉稳应对。唯独折在 MVCC MYSQL INNODB 是如何实现的问题上,回答错误扣10分。...对于多版本的控制,来说在设计的时候回会在每行记录增加三个隐藏的字段, DB_TRX_ID 用来记录这一行的的事务 当前使用它的事务ID , DB_ROLL_PTR 则是记录这条记录与UNDO 空间记录之间的关系...在InnoDB多版本控制方案,当您使用SQL语句删除一行时,它不会立即从数据库物理删除。InnoDB只有在丢弃为删除而编写的update undo日志记录时,才会物理地删除相应的行及其索引记录。...二级索引记录被删除或二级索引页被update的事务更新时,InnoDB在聚集索引查找数据库记录。...在聚集索引,检查记录的DB_TRX_ID,如果在读取事务启动后修改了记录,则从undo日志检索记录的正确版本。

79430

常见的数据库有哪几种?

):高度可扩展、Dynamo、LevelDB(Google)。...SQL(StructuredQueryLanguage,结构化查询语言)是一种数据库查询语言和程序设计语言,主要用于管理数据库的数据,存取数据、查询数据、更新数据等。...SQL是IBM公司于1975—1979年之间开发出来的,在20世纪随着数据库技术的发展,数据库产品越来越多,Oracle、DB2、MongoDB、SQLServer、MySQL等。 1....目前,Oracle数据库覆盖了大、、小型计算机等几十种计算机型,成为世界上使用最广泛的关系型数据管理系统(由二维表及其之间的关系组成的一个数据库)之一。...Mongo数据库管理系统最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引

1.4K40

原创|MySQL一个非预期锁等待分析

原因分析 原始的场景,用户的二级索引是建立在datetime类型上的,一开始怀疑是datetime类型在InnoDB层的比较出现了问题。...对于不满足更新条件的记录,可以提前放锁,减少并发冲突的概率。 思考:semi-consistent为什么不对二级索引做相同的优化呢?...主键索引在page上原地更新数据,并构建undo log存储数据的旧版本,然后将undo log的指针存储在主键索引DB_ROLL_PTR。...然而,InnoDB MVCC对二级索引的存储跟主键索引是不同的,一个二级索引列被更新的时候,旧的二级索引记录被标记为删除,同时插入一个新的二级索引记录。...也就是说,二级索引记录不会额外存储DB_TRX_ID和DB_ROLL_PTR列。

66710

AnalyticDB_分布式分析型数据库

) :批量更新,适合将离线系统(MaxCompute)产生的数据批量导入到分析型数据库,供在线系统使用。...db_name.table_name; 4.3.3 disableIndex true取消索引 ​ ADS默认为所有列创建index,同时可以⽀持选择性取消列的索引。 ​...什么时候该选择取消索引,参考原则: 只会出现在select⼦句中,不会在where⼦句中使⽤情况 列的值重复⽐较⾼,值基本都是相同的值 创建表时指定某列为 disableIndex true...如果需要删除表的历史数据,则可以合理使用二级分区机制来快速自动删除单个二级分区的数据,以达到删除最老历史数据的目的。...二级分区列是数据表的一个 bigint 类型的列,通常为bigint类型的日期,2020090310 ​ 二级分区适用场景:一般情况下,当一级分区数据量随时间增大到超过单个一级分区记录数最佳推荐值(

1.6K20

MongoDB 入门篇

除了上图所示的还支持:   二级索引、动态查询、全文搜索 、聚合框架、MapReduce、GridFS、地理位置索引、内存引擎 、地理分布等一系列的强大功能。...,索引太多影响写入及更新操作 ERP、CRM或者类似复杂应用,几十上百个对象互相关联 关联支持较弱,事务较弱 需要参与远程事务,或者需要跨表,跨文档原子性更新的 MongoDB...> db.log.dataSize() # 集合数据的原始大小 > db.log.totalIndexSize() # 集合索引数据的原始大小 > db.log.totalSize()...# 集合索引+数据压缩存储之后的大小 > db.log.storageSize() # 集合数据压缩存储的大小 pretty()使用 > db.log.find({uid:1000}).pretty...允许用户读写指定数据库 dbAdmin 允许用户在指定数据库执行管理函数,索引创建、删除,查看统计或访问system.profile userAdmin

1.3K50

Web | Django 与数据库交互,你需要知道的 9 个技巧

与其他非阻塞应用程序服务器( Tornado,asyncio 甚至 Node)不同,Django 通常使用同步工作进程。...事务操作通常会涉及用户和产品的一些属性,所以我们经常使用 select_related 来强制 join 并保存一些查询。 更新交易还会涉及获得一个锁来确保它不被别人获得。 现在,你看到问题了吗?...组合索引列的顺序(Order of columns in composite index) 具有多个列的索引称为组合索引。在 B-Tree 组合索引,第一列使用树结构进行索引。...索引列的顺序非常重要。 在上面的例子,我们首先会得到一个组(group)的树,另一个树是所有它的用户(user)。B-Tree 组合索引的经验法则是使二级索引尽可能小。...在我们的例子,假设组少于用户(一般),所以把用户列放在第一位会使组的二级索引变小。

2.8K40

MongoDB Clustered Collection

Hi~朋友,关注置顶防止错过消息 Clustered Collection在MongoDB索引和Document存储在同一个WiredTiger文件,存储和索引更加高效,MongoDB 5.3以后支持创建聚簇集合...({name: "collection name"}); Clustered Collection好处 不需要二级索引即可对集合进行快速查找 具有更小的存储大小,更高的查询和批量插入性能 不需要TTL...Index,在clusteredIndex可以指定expireAfterSeconds,但是当作为TTL index来使用的时候_id字段必须为date类型,删除性能更加高效 插入、删除、更新和查询有额外的性能改进...,聚簇集合按照id将索引和文档存储在一起,只需要一次查询即可完成读取,一次写入完成更新,但是非聚簇集合将id索引和文档分开存储,写入和读取都需要两次。...所占的空间尽可能小,更小的key,集合和二级索引占用空间会更加小

5210
领券