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

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day39】—— 数据库6

面试题2:什么是存储过程?有哪些优缺点? 面试题3:比如有个用户表,身份证号字段唯一,那么基于这个字段建索引的话,效率上讲,你会有哪些考虑呢?...在数据库正常关闭(shutdown)过程,也会执行 merge 操作。   显然,如果能够将更新操作先记录在 change buffer,减少读磁盘,语句执行速度会得到明显提升。...对于唯一索引来说,所有的更新操作都要先判断这个操作是否违反唯一性约束。比如,要插入 id=5 这条记录,就要先判断现在表是否已经存在 id=5 记录,而这必须要将数据页读入内存才能判断。...那么如果要在这张表(id,name)插入一个新记录 (5,“陈哈哈”) ,InnoDB 处理流程是怎样呢?   第一种情况是,这个记录要更新目标页在内存。...而探究其原因后,我发现这个业务有大量插入数据操作,而他在前一天把其中某个普通索引改成了唯一索引。 每日小结   今天我们复习了面试中常考数据库相关三个问题,你做到心中有数了么?

89920

db file sequential read等待事件

Oracle8/9file#是绝对文件号。 block#  指的是Oracle正在读取块号。一次只能读取一个块。...等待时间: IO通常是指对操作系统一次IO请求-直到IO请求完成等待块。当Oracle操作系统读请求可以操作系统文件系统缓存得到时,等待时间会非常小。...如果花费在等待读时间非常大,那么找出Oracle正在哪些segment段是非常有帮助。可以找到哪些文件正在被读。        ...找出哪些session正在读,并且通过trace跟踪他们来看IO是否正常,也是对此类等待事件判断是有帮助。...找到引起磁盘中频繁索引范围(index scan)文件,将它缓存到操作系统文件系统缓存。这样将会允许Oracle读请求可以操作系统缓存获得,而不是磁盘IO获得。

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

    Oracle数据库相关经典面试题

    答∶ 没有,实现自增长需要序列与DML触发器配合。 有哪几种事务隔离级别,他们都什么区别? 答∶ ORACLE中有两种事务 只读事务与读写事务。...解释函数,存储过程 答∶ 都是命名块,函数与过程是pl/sql代码集合,通常是为了完成一个业务,过程可以不返回任何值,但函数必须有返回值。是为了完成某个完整功能一组函数与过程集合。...乐观锁就是认为数据一般情况下不会造成冲突,只有在数据进行提交更新时候,才会正式对数据冲突与否进行检测,如果发现冲突了,则让用户返回错误信息,让用户决定如何去做。...答∶ Pl/sql 块结构包括:定义部分,执行部分,异常处理部分。 Oracle字符串用什么符号链接?...DISTINCT:将重复VT8移除,产生VT9. ORDER BY:将VT9行按ORDER BY 子句中列列表排序,生成游标(VC10).

    2.2K20

    【DB笔试面试498】当DML语句中有一条数据报错时,如何让该DML语句继续执行

    题目部分 在Oracle,当DML语句中有一条数据报错时,如何让该DML语句继续执行? 答案部分 当一个DML语句运行时候,如果遇到了错误,那么这条语句会进行回滚,就好像没有执行过。...可以看到,插入成功执行,但是插入记录为10条。对应错误信息表已经包含了插入信息。...只要指定了LOG ERRORS语句,不管最终插入语句十分成功执行完成,在错误记录表中都会记录语句执行过程遇到错误。...需要注意是,即使做了回滚操作,错误日志表记录并不会减少,因为Oracle是利用自治事务方式插入错误记录表。...② 直接路径INSERT或MERGE语句违反了唯一约束或唯一索引(注意:Oracle 11g开始,已经取消了该条限制)。 ③ 更新操作违反了唯一约束或唯一索引。

    88120

    Oracle压缩黑科技(三):OLTP压缩

    而另一方面,我们看到Oracle也极力将解压比例降至最低——通过只扩展那些包含正在更新标记。...我们将重新运行我们一些测试,看看Oracle在这个特性中有什么不同表现。...同样值得提醒是,仅仅启用压缩不会改变现有数据(test 5a),我们必须重新创建表来压缩数据。单行插入操作产生结果与数组插入级别的压缩非常接近,因此在后续测试我没有采用这种方法。...在11g中有多种关于压缩统计信息,可以让我们了解在某种类型批处理过程正在发生什么(或已经发生了什么),我在进行简单插入测试(number 3)时,对会话统计信息进行了快照,并得到了以下重要结果...Oracle数据库在表上所有DML操作过程中都会压缩数据”。接下来问题是什么触发了对更新(或删除)压缩。 答案似乎没有 - 看起来好像OLTP压缩是在要超过pctfree阈值插入时触发

    2.4K70

    oracle基本面试题_mongodb面试题

    如何使用Oracle游标? 1). oracle游标分为显示游标和隐式游标 2)....解释什么是死锁,如何解决Oracle死锁?...3.按操作划分,可分为DML锁、DDL锁 DML锁又可以分为,行锁、表锁、死锁 行锁:当事务执行数据库插入更新、删除操作时,该事务自动获得操作操作排它锁。...如创建一个,该过程与函数引用了不同数据库表,当编译此时,该事务就获得了引用表共享DDL锁。...30. oracle存储过程,游标和函数区别 游标类似指针,游标可以执行多个不相关操作.如果希望当产生了结果集后,对结果集中数据进行多 种不相关数据操作 函数可以理解函数是存储过程一种

    3.3K20

    SQL面试 100 问

    SQL 中有哪些连接查询? 答案: 连接(join)查询是基于两个表关联字段将数据行拼接到一起,可以同时返回两个表数据。...找出哪些部门中有女性员工?...如何获取员工在公司组织结构结构图,也就是最高领导到员工管理路径?...答案: 当数据库存在并发访问时,可能导致以下问题: 更新丢失,当两个事务同时更新某一数据时,后者会覆盖前者结果; 脏读,当一个事务正在操作某些数据但并未提交时,如果另一个事务读取到了未提交结果,就出现了脏读...,如果在目标表存在满足条件记录,执行 UPDATE 操作更新目标表对应记录;如果不 存在匹配记录,执行 INSERT 在目标表插入一条新记录。

    2.5K22

    这是我见过最有用Mysql面试题,面试了无数公司总结(内附答案)

    它是美国国家标准协会(ANSI)标准。 它是用于访问和操作数据库标准语言。 使用SQL,我们可以做一些动作是创建数据库,表,存储过程(SP), 执行查询,针对数据库检索,插入更新,删除数据。...SELECT:数据库中选择特定数据 INSERT:将新记录插入 UPDATE:更新现有记录 DELETE:删除现有记录 15. SQL中有哪些不同DCL命令?...SQL约束是在数据库插入,删除或更新数据时实施一些约束一组规则。 37. SQL可用约束有哪些? SQL一些约束包括–主键,外键,唯一键,SQL非空,默认,检查和索引约束。...触发器是一个SQL过程,用于响应事件(插入,删除或更新)而启动操作。...SQL中有哪些运算符? SQL Operator是保留字,主要在SQL语句WHERE子句中使用,以执行诸如算术运算和比较之类操作。这些用于在SQL语句中指定条件。 共有三种类型运算符。

    27.1K20

    干货视频|Zabbix5.0升级最佳实践以及常见问题排查

    02 - 对所有的OS更新进行检测 首先,我们需要对所有的OS更新进行检测,如果我们有一些占存非常大OS正在等待更新,那么我们就需要决定是否对它们执行更新,我们需要做一些规划:我们需要做这件事吗...我们可以将事件存储期设置为一天,然后从命令行手动执行housekeeper进程,你屏幕上会显示该命令,你可以看到所有旧事件正在被删除,表正在清理,完成此操作后备份速度会快得多。...因为它还在收集新数据,而整个数据都很重要。所以在这种情况下没有发生停机。在升级过程中有短暂停机时间,但数据导入阶段没有停机时间。...也许更好做法是为整个环境做好未来准备,并创建一个新虚拟机,使用最新操作系统。我们现在和将来都可以安装proxy,所以这实际上就是我们所做。在实际环境,这是一个真实用例。...如果你在升级过程遇到一些错误消息,你需要及时修复这些问题,特别是如果你自定义了一些数据库表,或者添加了一些额外索引,或者执行了类似的操作,则需要对这些充分进行删除。

    79820

    Oracle面试题

    DML包括: SELECT:用于查询检索数据; INSERT:用于插入数据到数据库; UPDATE:用于更新数据到现存数据 DELETE:用于数据库删除数据...7)DELETE可以操作视图,TRUNCATE不能操作视图10.Oracle游标游标是用来操作数据库一组查询结果集。游标作用:游标的作用就是用于临时存储数据库中提取数据块。...死锁,如何解决Oracle死锁?...当对于数据库某个表某一列做更新或删除等操作执行完毕后该条语句不提交,另一条对于这一列数据做更新操作语句在执行时候就会处于等待状态,此时现象是这条语句一直在执行,但一直没有执行成功,也没有报错,...杀进程会话alter system kill session "sid,serial#";13.sql优化(1)减少访问数据库次数(2)在执行SELECT子句时尽量避免使用 *,因为oracle在解析过程

    1.6K00

    毕昇 JDK:“传奇再现”华为如何打造 ARM 上最好用 JDK?

    为保证一致性,需要在复制和更新对象头之间插入 membar,在 JVM 关于对象头更新统一抽象为 CAS 函数。...在热点分析,我们发现复制操作 60% CPU 消耗在插入 Memory Barrier 上。...T2: T1 线程栈窃取待复制对象,并对尚未完成复制对象进行成员变量复制更新,导致数据不一致。...在 GC 执行过程收集转移信息(内存转移速率、转移耗时),并预测下一次 GC 可以转移内存,使用预测值来控制哪些页面可以参与转移。.../bishengjdk-11 总结 本文我们给大家介绍了何为毕昇 JDK,整体发展史如何,是在什么样形势下华为要做毕昇 JDK,在底层优化方面又做到了哪些

    1.1K30

    ✅为什么MySQL默认使用RR隔离级别?

    剩下RR和RC两种,如何选择呢?MySQL在设计之初就旨在提供一个稳定关系型数据库。为解决MySQL单点故障问题,MySQL采取了主从复制机制。...在MySQL主从复制过程,数据同步通过binlog进行。简单来说,主服务器将数据变更记录到binlog,然后将binlog同步传输给服务器。...服务器接收到binlog后,将其中数据恢复到自己数据库存储。那么,binlog里记录究竟是什么内容?它格式又是怎样呢?...即使 Session 1 删除操作在 Session 2 插入操作之后提交,由于 READ COMMITTED 隔离级别,Session 2 插入操作不会看到 Session 1 删除操作,所以最后数据库仍然会留下...我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

    21810

    面试官:说说react渲染过程_2023-02-21

    hello,这里是潇晨,大家在面试过程中有没有遇到过一些和react相关问题呢,比如面试官让你说说react渲染过程,这到题目比较开放,也比较考验大家对react渲染原理以及源码整体架构理解。...); 上面的fn可以分为如下一个部分: Scheduler(调度器): 排序优先级,让优先级高任务先进行reconcile Reconciler(协调器): 找出哪些节点发生了改变,并打上不同...不管是在首次渲染还是更新状态时候,这些渲染任务都会经过Scheduler调度,Scheduler会根据任务优先级来决定将哪些任务优先进入render阶段,比如用户触发更新优先级非常高,如果当前正在进行一个比较耗时任务...Scheduler会分配一个时间片给需要渲染任务,如果是一个非常耗时任务,如果在一个时间片之内没有执行完成,则会当前渲染到Fiber节点暂停计算,让出执行权给浏览器,在之后浏览器空闲时候之前暂停那个...Effect List,这些对比出来副作用例如:Placement(插入)、Update(更新)、Deletion(删除)等。

    32520

    面试官:说说react渲染过程

    hello,这里是潇晨,大家在面试过程中有没有遇到过一些和react相关问题呢,比如面试官让你说说react渲染过程,这到题目比较开放,也比较考验大家对react渲染原理以及源码整体架构理解。...); 上面的fn可以分为如下一个部分:Scheduler(调度器): 排序优先级,让优先级高任务先进行reconcileReconciler(协调器): 找出哪些节点发生了改变,并打上不同Flags...不管是在首次渲染还是更新状态时候,这些渲染任务都会经过Scheduler调度,Scheduler会根据任务优先级来决定将哪些任务优先进入render阶段,比如用户触发更新优先级非常高,如果当前正在进行一个比较耗时任务...Scheduler会分配一个时间片给需要渲染任务,如果是一个非常耗时任务,如果在一个时间片之内没有执行完成,则会当前渲染到Fiber节点暂停计算,让出执行权给浏览器,在之后浏览器空闲时候之前暂停那个...,这些对比出来副作用例如:Placement(插入)、Update(更新)、Deletion(删除)等。

    58230

    「3306π」沪江 SQL Server 到 MySQL(二):在线迁移,空中换发动机

    在上篇文章 SQL Server 到 MySQL (一):异构数据库迁移 ,我们给大家介绍了 SQL Server 到 MySQL 异构数据库迁移基本问题和全量解决方案。...这其中有四个步骤: 增量数据收集 (创建 Oracle增量物化视图) 进行全量复制 进行增量复制 (可并行进行数据校验) 原库停写,切到新库 Oracle 物化视图(Materialized View...Oracle 基于物化视图,就可以完成增量数据获取,从而满足阿里数据在线迁移。将这个技术问题泛化一下,想做到在线增量迁移需要有哪些特性?...,注意 __$operation代表了数据库操作: 1 删除 2 插入 3 更新前数据 4 更新后数据 根据查出来数据,我们可以重现这段时间数据库操作: 新增了 id 为 1 / 2 两条数据 更新了...如果对性能不达标,官方有一些简单优化指南: 调整 maxscan maxtrans pollinginterval 减少在插入后立刻插入 避免大批量写操作 限制需要记录字段 尽可能关闭 net changes

    1.3K31

    SpringHibernate 应用性能优化7种方法

    查询执行时间是 Java 客户端收集,该时间包含查询数据库来回网络调用。...通过 SQL 日志可以了解哪些指标? SQL 日志可以回答下列问题: 哪些执行最慢查询? 哪些是最常用查询? 生成主键耗时是多少? 是否有数据适合缓存?...常用速成法 下面介绍速成法能找出 Spring/Hibernate 应用中常见性能问题,以及对应解决方案。 速成法1——减少生成主键代价 在插入操作频繁进程,主键生成策略很重要。...该优化能在插入操作频繁应用带来30%到40%性能提升,而不用改动任何代码行。...但是,多数情况下,一旦对应插入操作已经在数据库完成,我们就可以安心地丢弃那些实体。这会释放 Java 客户端进程内存,避免过久 Hibernate 会话导致性能问题。

    2.1K100

    Oracle面试题集锦

    不同:DELETE语句执行删除过程是每次删除一行,并且同时将该行删除操作作为事务记录在日志中保存以便进行进行回滚操作。...TRUNCATE TABLE 则一次性地删除所有的数据页并不把单独删除操作记录记入日志保存,删除行是不能恢复。并且在删除过程不会激活与表有关删除触发器。执行速度快。...比如ERP系统它应用界面很多,涉及底层操作也很多,如果想知道在某个界面的操作在底层数据库执行哪些SQL语句,就需要开启Trace功能记录下这些SQL操作,方便开发人员了解上层应用程序对数据库做了哪些动作...较典型问题有:有时,表明明建有索引,但查询过程显然没有用到相关索引,导致查询过程耗时漫长,占用资源巨大,这时就需要仔细分析执行计划,找出原因。例如,可以看连接顺序是否允许使用相关索引。...读一致性:当一个会话正在修改数据时,其他会话将看不到该会话未提交修改。当一个语句正在执行时,该语句将看不到该语句开始执行未提交修改(语句级读一致性)。

    2.7K21

    面试官:说说react渲染过程

    面试官:说说react渲染过程 hello,这里是潇晨,大家在面试过程中有没有遇到过一些和react相关问题呢,比如面试官让你说说react渲染过程,这到题目比较开放,也比较考验大家对react...(state); 上面的fn可以分为如下一个部分: Scheduler(调度器): 排序优先级,让优先级高任务先进行reconcile Reconciler(协调器): 找出哪些节点发生了改变,并打上不同...不管是在首次渲染还是更新状态时候,这些渲染任务都会经过Scheduler调度,Scheduler会根据任务优先级来决定将哪些任务优先进入render阶段,比如用户触发更新优先级非常高,如果当前正在进行一个比较耗时任务...Scheduler会分配一个时间片给需要渲染任务,如果是一个非常耗时任务,如果在一个时间片之内没有执行完成,则会当前渲染到Fiber节点暂停计算,让出执行权给浏览器,在之后浏览器空闲时候之前暂停那个...在commit阶段会遍历render阶段形成Effect List,执行链表上相应fiber节点副作用,比如Placement插入,或者执行Passive(useEffect副作用)。

    71120
    领券