当前位置: 首页 > 知识库问答 >
问题:

mysql - oracle在做表分析的这段时间内,会锁表吗?或者影响读写性能吗?

娄嘉石
2023-07-21

因为大表会定期涌入大量数据,所以希望在半夜的业务空闲期,对某些大表做表分析。
但是如果此时,让仍然有这个表的读写操作,不知道会不会对业务产生影响

共有1个答案

端木涵润
2023-07-21

不会锁定整个表。因为 Oracle 用了一种叫做多版本并发控制(MVCC,Multi-Version Concurrency Control)的技术,但是会占用资源,影响性能,你可以试试用 Oracle 的自动优化统计信息收集功能(Automatic Optimizer Statistics Collection),可以在系统空闲的时候自动收集统计信息,不用你手动改。
PostgreSQL的多版本并发控制(MVCC)文档

Oracle的自动优化统计信息收集功能文档

 类似资料:
  • 问题内容: 我正在使用MySQL + Hibernate。 MySQL表名长度和列名长度会影响应用程序性能吗? 例如) 哪个更好 ? 问题答案: 不,它不会,在任何程度上都无法衡量。 花更多的精力使您的架构易于理解。从长远(短期)来看,您获得的收益将超过使用较短且难以理解的模式名称所获得的无法衡量的飞秒。

  • 假设我定义了两个包(都是perl类和对象) 和 .当上述类的实例访问它们的方法时,会有性能差异吗?我认为“长包名”会导致性能差异,因为perl在方法解析期间会对名称进行字符串比较。 由于在上述方法调用中会有名称解析,第一个(由于名称较短)将比第二个包名方法调用表现出更好的性能。 推测:perl不保留包名的哈希值,并且(在内部)与它们进行比较吗?

  • 问题内容: varchar列上的索引是否会使查询运行缓慢?我可以将其设为int。而且我不需要做LIKE%比较。 问题答案: varchar列上的索引是否会使查询运行缓慢? 不,不是的。 如果优化器决定使用索引,则查询将运行得更快。 该表上的s / s / s会变慢,但不太可能引起注意。 我不需要做LIKE%比较 请注意,使用: …将 不 使用索引,但以下内容将: 关键是在字符串的左侧使用通配符,这

  • 我有一个具有良好分区键(PK=uuid)的DynamoDB表,但有一个GSI(PK=type,SK=created),其中type只有6个唯一值,created是epoch时间。 我的问题是,如果我开始使用这个GSI进行大量读取,这会影响整个表的性能吗?我看到根据这个AWS文档,表和GSI的读取容量没有共享,但是如果我们开始大量使用这个GSI,幕后会发生什么?Dynamodb写入会受到影响吗?

  • 问题内容: 在浏览器中,缩小和隐藏或加载异步JavaScript会对性能产生积极影响。在Node.js中运行的代码是否也是如此? 如Example那样,过多的注释和为实例化的类的属性使用长名称通常会严重影响性能和内存使用吗? 问题答案: 是的 ,它可以提高编译时的性能,但是编译时对您的整个过程生命周期而言无关紧要,因此无关紧要。唯一的区别是,如果您出于某种奇怪的原因而不断地启动和停止节点程序,那么

  • 问题内容: 例如,我喜欢在Redis中使用冗长的名称。 这样可以吗?还是会影响性能? 问题答案: 您正在谈论使用的密钥并没有那么长。 您提供的示例键用于一个集合,集合查找方法为O(1)。集合(SDIFF,SUNION,SINTER)上更复杂的操作是O(N)。可能的是,与使用较长的键相比,填充是更昂贵的操作。 Redis带有一个称为的基准实用程序,如果您修改src / redis-benchmark