Oracle操作扩可变字符长度交易影响分析-较小

使用AI帮助学习知识
以下知识来至AI

oracle 一张大表,对可变字符串长度从10扩到20位,oracle底层存储是否会发生变化,先锁表,更新表字典信息,然后会不会重新整理表,在有交易的情况下导致大量交易失效?

当在Oracle中更改一张大表的某个字段的可变字符串长度(如从VARCHAR2(10)扩展到VARCHAR2(20)),Oracle底层存储和相关的操作会有以下变化和影响:

  1. 存储变化

    • 对于变长字符串类型(如VARCHAR2),Oracle只存储实际字符串的长度和值。因此,当增加字段的最大长度时,对于已经存在的数据,只要它们的长度没有超过新的最大长度,这些数据的存储不会发生变化。
    • 但是,从表的元数据和空间管理角度来看,Oracle需要更新表的字典信息以反映新的字段长度限制。
  2. 操作过程

    • 修改字段长度的操作会首先锁定相关的表和对象,以确保数据的一致性和完整性。
    • Oracle会更新系统表(如表结构信息)来反映新的字段长度。
    • 由于是变长字段,并且只是增加了最大长度限制,Oracle通常不会重新整理或移动表中的数据。
  3. 交易影响

    • 在修改字段长度的过程中,如果表被锁定,任何尝试访问或修改该表的DML(数据操纵语言)操作(如INSERT、UPDATE、DELETE)都会被阻塞,直到锁被释放。
    • 这可能会导致依赖于该表的应用程序或服务暂时无法正常工作。
    • 但是,一旦字段长度修改完成并且锁被释放,之前由于锁而被阻塞的DML操作应该能够继续执行,而不会导致大量交易失效。
  4. 性能和维护考虑

    • 修改大表的字段长度可能需要一些时间来完成,并且可能会消耗系统资源。因此,最好在数据库负载较低的时候进行此类操作。
    • 在执行修改操作之前,最好备份相关的数据,以防止任何意外的数据丢失或损坏。
    • 如果可能的话,在修改字段长度之前通知所有相关的应用程序和服务团队,以便他们可以提前做好准备。

综上所述,当在Oracle中增加大表的某个可变字符串字段的长度时,底层存储对于已经存在的数据通常不会发生变化,但表的元数据和字典信息会被更新。在修改过程中,表会被锁定,可能导致依赖于该表的应用程序或服务暂时无法正常工作。但是,一旦修改完成并且锁被释放,之前被阻塞的操作应该能够继续执行,而不会导致大量交易失效。

oracle 一张大表,增加一个可变字符字段,可为空,oracle底层存储是否会发生变化,先锁表,更新表字典信息,然后会不会重新整理表,修改每行的记录信息,长时间的数据整理造成表所时间太长,在有交易的情况下导致大量交易失效?

当您在Oracle中向一个大表添加一个新的可变字符字段(如VARCHAR2),并且该字段允许为空(NULL),Oracle的底层存储和相关的操作会有以下变化和影响:

  1. 存储变化

    • 添加新的字段会导致表的每行记录都增加一个额外的空间来存储这个新字段。这个空间的大小取决于字段的数据类型和最大长度。对于VARCHAR2字段,即使它允许为空,Oracle也会为该字段预留一些空间来存储长度信息和可能的值(如果提供了)。
    • 表的物理存储结构(如表段、扩展、块等)可能会因为新的字段而发生变化,但具体的行为取决于表当前的存储参数和碎片情况。
  2. 操作过程

    • 添加字段的操作会首先锁定相关的表和对象,以确保数据的一致性和完整性。
    • Oracle会更新系统表(如表结构信息)来反映新的字段信息。
    • 对于已经存在的数据行,Oracle不会立即修改或重新整理每行的记录信息来包含新的字段。但是,当您插入新的数据行或更新已经存在的行以包含新字段的值时,这些行会包含新字段的信息。
  3. 性能和维护考虑

    • 添加字段到一个大表可能需要一些时间来完成,特别是当表有很多行时。这个过程可能需要重新分配存储空间、更新表和索引的统计信息等。
    • 在执行修改操作之前,最好备份相关的数据,以防止任何意外的数据丢失或损坏。
    • 如果表被锁定,任何尝试访问或修改该表的DML(数据操纵语言)操作(如INSERT、UPDATE、DELETE)都会被阻塞,直到锁被释放。这可能会影响依赖于该表的应用程序或服务的性能。
  4. 是否重新整理表

    • 添加字段本身不会导致Oracle重新整理或移动表中的数据。但是,如果表存在大量的碎片或空间不足,您可能需要考虑在添加字段之后重新组织表或扩展表空间。
    • 重新组织表(如使用ALTER TABLE ... MOVE)是一个更耗时的操作,并且会锁定表,因此在执行之前应该仔细规划。
  5. 在有交易的情况下

    • 在添加字段的过程中,由于表被锁定,依赖于该表的应用程序或服务可能会遇到性能下降或暂时无法正常工作的情况。但是,一旦字段添加完成并且锁被释放,之前被阻塞的操作应该能够继续执行,而不会导致大量交易失效。

综上所述,向Oracle大表添加新的可变字符字段会导致表的存储结构发生变化,但添加字段本身不会立即修改或重新整理每行的记录信息。在添加字段的过程中,表会被锁定,可能导致依赖于该表的应用程序或服务暂时无法正常工作。但是,一旦操作完成并且锁被释放,之前被阻塞的操作应该能够继续执行,而不会导致大量交易失效。如果考虑在添加字段之后进行表的重新组织或扩展表空间,应该仔细规划并确保在数据库负载较低的时候进行。

个人分析:有风险,这种情况需要评估和测试。

oracle 一张几千万到亿大表,增加一个日期类型或者数值类型,不为空,oracle操作是先锁表更新表字典信息,然后会不会重新整理表,修改每行的记录信息,把新增字段的数据补齐,长时间的数据整理造成表所时间太长,这个表所时间预计是否会在分钟级别,在有交易的情况下导致大量交易失效?

当在Oracle中向一张包含几千万到亿条记录的大表增加一个新的日期类型或数值类型字段,并且该字段不允许为空(NOT NULL)时,以下是可能发生的情况和影响:

  1. 存储和表结构变化

    • 添加新的字段会导致表的每行记录都增加一个额外的空间来存储这个新字段。对于日期类型(如DATE或TIMESTAMP),通常会占用固定的空间大小。对于数值类型(如NUMBER),空间大小取决于具体的精度和范围。
    • 表的物理存储结构(如表段、扩展、块等)可能会因为新的字段而发生变化,但通常不会立即重新整理整个表。
  2. 操作过程

    • 添加字段的操作会首先锁定相关的表和对象,以确保数据的一致性和完整性。
    • Oracle会更新系统表(如表结构信息)来反映新的字段信息。
    • 重要的是,由于新字段设置为NOT NULL,而现有记录中没有这个字段的值,Oracle不会自动为现有记录填充这个字段的值。这意味着在添加字段后,任何试图访问或修改这个新字段的SQL操作(如SELECT、UPDATE)都会因为缺少值而失败,除非明确地为这些记录提供值。
  3. 是否重新整理表

    • 添加字段本身不会导致Oracle重新整理或移动表中的数据。但是,如果表的碎片较多或空间不足,您可能需要在之后考虑重新组织表或扩展表空间。
    • 重新组织表(如使用ALTER TABLE ... MOVE)是一个耗时的操作,会锁定表,并可能需要较长的时间来完成,具体取决于表的大小和系统的性能。
  4. 对交易的影响

    • 在添加字段的过程中,表会被锁定,这可能导致依赖于该表的应用程序或服务无法正常工作,特别是那些进行DML(数据操纵语言)操作(如INSERT、UPDATE、DELETE)的应用程序。
    • 一旦字段添加完成并且锁被释放,之前被阻塞的操作应该能够继续执行。但是,由于新字段是NOT NULL的,任何试图访问或修改这个新字段但没有提供值的SQL操作都会失败。
    • 在有大量并发交易的情况下,这可能导致大量的SQL操作失败,从而影响应用程序的可用性和用户体验。
  5. 时间预计

    • 添加字段的时间取决于多个因素,包括表的大小、系统的性能、并发负载等。对于几千万到亿条记录的大表,这个操作可能需要几分钟到几十分钟不等。但是,具体的时间取决于您的具体情况。
    • 如果考虑在添加字段之后进行表的重新组织或扩展表空间,那么这些操作可能需要更长的时间。
  6. 建议和注意事项

    • 在执行此类操作之前,最好备份相关的数据,以防止任何意外的数据丢失或损坏。
    • 如果可能的话,在非高峰时段执行此类操作,以减少对应用程序和服务的影响。
    • 在添加NOT NULL字段之前,考虑是否可以为现有记录提供一个合理的默认值,以避免在添加字段后出现大量的SQL操作失败。
    • 在执行任何可能影响性能或可用性的操作之前,最好进行充分的测试和评估。

    有风险

oracle 一张几千万到亿大表,属于分区表,增加一个日期类型或者数值类型,oracle操作是先锁表更新表字典信息,然后会不会重新整理表,修改每行的记录信息,把新增字段的数据补齐,长时间的数据整理造成表所时间太长,这个表所时间预计是否会在分钟级别,在有交易的情况下导致大量交易失败?分区表加字段是在分区范围内独立执行,可以减少影响?

当在Oracle中对一个包含几千万到亿条记录的大分区表增加一个日期类型或数值类型的字段时,Oracle的操作和潜在影响会有所不同,特别是考虑到分区表的特点。

以下是关于分区表增加字段的详细解释:

  1. 锁表和更新表字典信息

    • Oracle会锁定相关的表和对象(在大多数情况下是元数据锁,而不是完全锁定表数据)以更新表的结构信息。这通常是一个很快的操作,但在此期间,任何尝试修改表结构的操作(如添加或删除列、更改数据类型等)都会被阻塞。
  2. 重新整理表

    • 仅仅添加一个字段到分区表并不会触发Oracle重新整理或移动整个表的数据。每个分区是独立管理的,所以Oracle不需要(也不会)修改或移动分区内的数据来适应新的字段。
  3. 修改每行的记录信息

    • 添加字段不会导致Oracle修改或扩展现有行的记录来包含新字段的值。新字段会被添加到表的元数据中,并且当插入新行或更新现有行以包含新字段的值时,这些行将包含新字段的信息。但是,对于现有行,新字段的值将是NULL(如果字段没有默认值)或默认值(如果字段有默认值)。
  4. 时间预计

    • 仅仅添加一个字段到分区表的时间预计会很快,通常可以在秒级别内完成,即使对于非常大的表也是如此。这是因为Oracle只需要更新表的元数据,而不需要修改或移动任何数据。
  5. 在有交易的情况下

    • 在添加字段的过程中,由于元数据锁的存在,任何尝试修改表结构的操作都会被阻塞。但是,DML操作(如INSERT、UPDATE、DELETE)通常不会受到影响,除非它们涉及到正在被修改的表结构部分(例如,尝试向新添加的字段插入数据,而该字段还没有被添加到表中)。
    • 在添加字段后,由于新字段的值是NULL或默认值,任何基于新字段的查询或更新操作可能会返回意外的结果或失败,除非明确地为这些记录提供了值。但是,这不应该导致大量的交易失败,除非应用程序逻辑依赖于这个新字段的特定值。
  6. 分区表加字段的影响

    • 由于分区表是逻辑上将一个大表分成较小的、更易于管理的片段,因此增加字段的操作在每个分区上是独立执行的。这意味着Oracle不需要一次性处理整个表的数据,而是可以逐个分区地处理,从而减少了系统资源和时间的需求。
    • 在大多数情况下,分区表的设计可以显著减少添加字段等操作对系统性能的影响,尤其是在处理大型数据集时。

综上所述,向一个包含几千万到亿条记录的大分区表添加一个日期类型或数值类型的字段通常是一个很快的操作,并且不太可能对现有的交易造成大量失败。然而,始终建议在执行此类操作之前备份相关数据,并在非高峰时段进行测试和执行,以确保系统的稳定性和可用性。

添加字段到一个大表可能需要一些时间来完成,特别是当表有很多行时。这个过程可能需要重新分配存储空间、更新表和索引的统计信息等。 什么情况下会导致重新分配存储空间,给出oracle关于这块处理的一些底层的实现细节。

在Oracle中,当向一个大表添加字段时,虽然通常不会立即导致整个表的重新分配存储空间,但在某些情况下,可能会触发存储空间的重新分配或调整。以下是可能导致重新分配存储空间的情况以及Oracle关于这块处理的一些底层实现细节:

可能导致重新分配存储空间的情况

  1. 表空间的自动扩展

    • 如果表所在的表空间没有足够的空间来容纳新字段的添加(即使新字段本身可能不立即占用大量空间),Oracle可能会尝试自动扩展表空间。这通常是由表空间的自动扩展设置(如AUTOEXTEND ON)控制的。
  2. 段空间管理(ASSM)与基本空间管理(FSSM)

    • Oracle使用段空间管理(ASSM)或基本空间管理(FSSM)来管理表空间中的段。在ASSM中,当添加新字段或大量数据时,Oracle可能会尝试更有效地使用空间,这可能会导致段或扩展的重新分配。
  3. 碎片整理

    • 如果表存在大量的碎片(即空间没有被有效利用),Oracle可能会选择重新组织表或扩展表空间来消除碎片。虽然这通常不是由简单的字段添加触发的,但碎片的存在可能会使Oracle在后续操作中更容易重新分配空间。
  4. 索引重建

    • 当向表中添加新字段时,相关的索引(如果存在)也需要更新以包含新字段。在某些情况下,Oracle可能会选择重建索引,这可能会导致存储空间的重新分配。

Oracle底层实现细节

  1. 表空间管理

    • Oracle使用表空间来存储数据库对象(如表、索引等)。表空间可以包含多个数据文件,数据文件是Oracle在操作系统中分配的物理存储单位。
  2. 扩展和段

    • 在表空间中,数据被组织成扩展(extents),扩展是连续的数据块集合。段(如表段或索引段)是包含一个或多个扩展的逻辑存储结构。
  3. 空间分配

    • 当向表中添加数据时,Oracle会尝试在现有扩展中找到足够的空间。如果没有足够的空间,Oracle会尝试分配一个新的扩展。这可以通过表空间的自动扩展设置或DBA的干预来完成。
  4. ASSM与FSSM

    • 在ASSM中,Oracle使用位图来跟踪段中的空闲和已使用空间。这使得空间分配和管理更加高效。在FSSM中,Oracle使用自由列表和空闲块来跟踪空闲空间。
  5. 索引更新

    • 当向表中添加新字段时,相关的B树索引(或其他类型的索引)也需要更新以包含新字段的值。这可能需要重新分配索引的空间,具体取决于索引的大小和表中的数据量。
  6. 在线重定义

    • 对于需要大量结构调整的操作(如添加新列、更改数据类型等),Oracle提供了在线重定义(Online Redefinition)的功能。这允许DBA在不中断DML操作的情况下更改表的结构。在线重定义可能会涉及临时表的创建、数据的复制和交换等操作,从而可能导致存储空间的重新分配。
  7. 统计信息

    • 在添加新字段后,Oracle可能会建议或自动更新表和索引的统计信息。统计信息对于查询优化器制定高效的执行计划至关重要。更新统计信息本身不会导致存储空间的重新分配,但可能会触发相关的存储结构(如表或索引)的重新评估和调整。

对于需要大量结构调整的操作(如添加新列、更改数据类型等),Oracle提供了在线重定义(Online Redefinition)的功能。这允许DBA在不中断DML操作的情况下更改表的结构。 增加表字段,修改表字段长度,增加索引都可以使用 online功能?

Oracle的在线重定义(Online Redefinition)功能确实允许数据库管理员(DBA)在不中断DML操作(如INSERT、UPDATE、DELETE)的情况下更改表的结构。然而,并非所有类型的表结构更改都支持在线重定义,而且某些操作可能需要额外的步骤或考虑。

以下是关于在线重定义功能的一些关键点:

  1. 支持的更改

    • 添加新列
    • 删除列(但有一些限制)
    • 更改列的数据类型(但有一些限制)
    • 重新组织分区
    • 添加或删除分区
    • 将表从非分区更改为分区
    • 以及其他一些结构更改
  2. 增加表字段
    向表中添加新字段是完全支持在线重定义的。这允许您在不影响现有DML操作的情况下向表中添加新的列。

  3. 修改表字段长度
    更改列的数据类型(包括更改长度)在大多数情况下也支持在线重定义,但有一些限制和注意事项。例如,如果更改导致数据长度增加并且没有足够的空间来存储新数据,那么在线重定义可能会失败或需要额外的步骤。

  4. 增加索引
    虽然在线重定义主要用于更改表结构,但增加索引本身并不需要在线重定义。您可以直接在表上创建索引,而无需使用在线重定义功能。但是,请注意,在表上创建索引可能会影响DML操作的性能,因为索引需要随着数据的更改而更新。

  5. 其他注意事项

    • 在线重定义是一个复杂的过程,需要仔细规划和测试。在执行在线重定义之前,最好备份相关的数据,并在非生产环境中测试更改。
    • 在线重定义可能会消耗大量的系统资源,因此最好在低峰时段执行此操作。
    • 在执行在线重定义期间,应监控相关的表和索引的性能和状态,以确保更改按预期进行。
  6. 替代方案
    如果在线重定义不适用于您的需求或场景,您还可以考虑其他替代方案,如使用临时表、触发器、视图或应用程序逻辑来模拟所需的更改。但是,这些替代方案可能更复杂,并且可能需要额外的维护和管理。

总之,Oracle的在线重定义功能是一个强大的工具,允许DBA在不中断DML操作的情况下更改表结构。但是,在使用此功能之前,请确保您了解其限制和注意事项,并进行充分的测试和规划。

并不矛盾。虽然在线重定义(Online Redefinition)功能主要用于在不影响DML操作的情况下更改表结构,但Oracle也提供了在添加索引时使用ONLINE选项的功能,这两者有不同的用途和实现原理。

  1. 在线重定义(Online Redefinition)

    • 用途:主要用于更改表结构,如添加新列、删除列、更改列的数据类型等。
    • 实现原理
      • 通过物化视图实现,首先创建一个与原始表结构相似但包含所需更改的临时表(或称为中间表)。
      • 将原始表的数据复制到临时表中,并在原始表上创建物化视图日志以捕获任何DML更改。
      • 在数据同步过程中,这些DML更改会被应用到临时表上。
      • 最后,通过交换原始表和临时表的名称来完成重定义过程,删除物化视图和物化视图日志。
    • 注意事项
      • 需要足够的表空间来容纳表的两倍数据量。
      • 主键列不能被修改。
      • 表必须有主键。
      • 无法在SYS和SYSTEM用户下的表进行在线重定义。
  2. 在线添加索引(ONLINE Index Creation)

    • 用途:在创建索引时允许DML操作继续进行,而不需要锁定表或等待索引创建完成。
    • 实现原理
      • 在创建索引时,Oracle会尽量减少对DML操作的影响。这通常是通过并行处理、延迟索引维护或增量索引构建等技术实现的。
      • 具体实现细节可能因Oracle版本和配置而异,但核心思想是在索引创建过程中允许DML操作继续执行。
    • 优点
      • 提高系统的可用性和性能,因为DML操作不需要等待索引创建完成。
      • 减少了对生产系统的影响和中断时间。

总结

  • 在线重定义和在线添加索引都是Oracle提供的高级功能,用于在不中断或最小化对DML操作影响的情况下进行表结构更改或索引创建。
  • 虽然它们的目的和实现原理不同,但都是为了提高Oracle数据库的可用性和性能。
  • 在使用这些功能时,DBA应该仔细评估其需求和影响,并参考Oracle官方文档和最佳实践进行配置和管理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/846920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日常开发坑记录

hutool工具类转换,anInt可能为负数(队列散列需求遇到)long l = RandomUtil.randomLong(0, 9999999999L);Integer anInt = Convert.toInt(l);System

wandb上传整个项目代码

wandb.run.log_code上传整个项目代码 wandb一般只能保存训练代码文件 用了这个函数并且指定文件格式,就能保存指定文件当git来用了 import wandbwandb.init(project"latent-diffusion") wandb.run.log_code(".", include_fnlambda path: path.e…

docker --network host,仍然无法使用127.0.0.1连接数据库,改用宿主机ip后可以连接

有两个docker容器,一个是mysql,一个是java服务。两个都是host网络模式。 宿主机上可以连mysql,java服务也可以通过wget检测能连上mysql端口。 外部网络也能连上mysql。只有这个java服务无法连接mysql,java服务是用是127.0.0.1&…

网络ip地址冲突会出现什么情况

在现代数字化社会中,网络IP地址扮演着至关重要的角色,它是设备在网络中唯一识别的标识。然而,当网络中出现IP地址冲突时,一系列问题便会随之而来。那么,网络ip地址冲突会出现什么情况呢?下面一起来跟虎观代…

k8s-部署对象存储minio

环境信息 minio版本 :最新 k8s 版本1.22 使用nfs作为共享存储 一.单节点安装包部署 脚本部署,一键部署,单节点应用于数据量小,一些缓存存储,比如gitlab-runner的产物数据,maven的打包依赖数据 #!/bin/bash# 步骤…

如何进行辐射抗扰度磁场测试?

一、为什么要进行闭环磁场测试? 辐射抗扰度测试中进行闭环磁场测试是为了评估设备在外部磁场影响下的性能表现。外部磁场可能来自各种源头,例如电力线、电动机、变压器等,这些磁场可能干扰设备的正常工作。闭环磁场测试通过模拟设备在实际工…

虾皮Lazada流量“滑铁卢”?自养号测评补单让你轻松翻盘!

当作为虾皮(Shopee)或Lazada平台的卖家时,密切关注流量数据是至关重要的。如果观察到店铺的流量出现下滑趋势,首要任务便是深入探究流量减少的根本原因。在明确了导致流量下滑的关键因素后,卖家便能更有针对性地采取措…

Java学习20——Map接口

目录 一.Map: 1.基本介绍: 2.Map常用方法: 3.Map的遍历方法: 4.HashMap: 1.基本介绍: 2.HashMap底层扩容机制: 5.Hashtable: 1.基本介绍: 2.HashMap和Hashtable的对比&…

JSON字符串

在Python中,你可以使用内置的json模块将JSON字符串解析为Python对象(如字典、列表等)。以下是一个简单的示例,说明如何将JSON字符串解析为Python字典: python复制代码 import json # JSON字符串 json_string {"…

Python环境变量设置Win7:深度解析与实用指南

Python环境变量设置Win7:深度解析与实用指南 在Windows 7操作系统中设置Python环境变量,是每位Python开发者都需要掌握的一项基本技能。它不仅能够使我们在命令行中直接运行Python脚本,还能够确保Python相关的库和工具能够被系统正确识别和使…

Image Search-这是你的图像搜索

Image Search-这是你的图像搜索 什么是图像搜索图像搜索开通图像搜索商品图片搜索图片搜索图片新增批量操作OSS-创建bucket上传文件创建increment.meta并上传元信息导出 体验感受 什么是图像搜索 在接触一个新的产品时,我们首先要知道这款产品是什么?那…

ARM IHI0069F GIC architecture specification (8)

3.2中断旁路支持 CPU interface可以支持中断信号旁路,使得当接口发出的中断信号被禁用时,传统中断信号被传递到PE上的中断请求输入,从而绕过GIC功能。 是否支持旁路由实际设计决定。 用于确定是否使用GICv3 FIQ和IRQ输出或旁路信号的控制取决…

英伟达在2024台北电脑展上推出NIM云原生微服务

🦉 AI新闻 🚀 英伟达推出NIM云原生微服务,助力生成式AI发展 摘要:在2024台北电脑展上,黄仁勋介绍了生成式人工智能将推动软件全栈重塑,并展示了Nvidia Inference Microservices(NIM&#xff0…

《2024快手未成年人保护报告》发布:八大功能保护未成年人隐私信息

5月31日,快手发布《2024快手未成年人保护报告》(下文简称《报告》)。《报告》显示,快手在2023年持续升级未成年人保护机制,在不断提升平台保障能力和未成年人使用体验的同时,针对未成年人隐私信息保护持续优…

区间预测 | Matlab实现GRU-Attention-KDE核密度估计多置信区间多变量回归区间预测

区间预测 | Matlab实现GRU-Attention-KDE核密度估计多置信区间多变量回归区间预测 目录 区间预测 | Matlab实现GRU-Attention-KDE核密度估计多置信区间多变量回归区间预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现GRU-Attention-KDE门控循环单元注意力…

【JS实战02】轮播图

一&#xff1a;HTML页面结构 1 整体外观 2 HTML结构以及CSS样式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">…

js之对象、内置对象、获取和操作DOM对象以及相关年会抽奖案例

这里写目录标题 一级目录二级目录三级目录 基础语法04一、对象1.定义2.特点 二、对象的使用1.声明2.由属性和方法组成3.属性4.增删改查5.方法 三、遍历对象四、内置对象1.介绍2.作用3.方法注意&#xff1a;生成任意范围的随机数 五、声明变量注意WebAPIs01一、Web API 基本认知…

HTML:认识HTML与基本语法的学习

前言 HTML&#xff08;超文本标记语言&#xff09;是用于创建网页的标记语言&#xff0c;由一系列标签组成&#xff0c;定义网页中的元素。由蒂姆伯纳斯 - 李于1990年代初发明&#xff0c;最初用于科研机构间共享文档&#xff0c;迅速演变为Web开发基础。无论是电商、博客、新…

力扣1984.数组任选k个数的最小极差

力扣1984.数组任选k个数的最小极差 思路&#xff1a;最终选定的k个数的方案一定可以排序成最大最小放两端的形式 所以将原数组排序 再取k长度的区间 一定能找到与原方案等价的一种方案 class Solution {public:int minimumDifference(vector<int>& nums, int k) {…

2024 年适用于 Mac 的 5 大免费录屏软件

要成为Mac的优秀屏幕录像机&#xff0c;捕获视频的高清质量和易于操作的界面是两个主要重要因素。此外&#xff0c;Mac上的付费屏幕录像机不仅可以输出高质量的屏幕捕获视频。您也可以在免费的视频捕获软件中获得类似的桌面录制服务。因此&#xff0c;如果您不需要以专业的方式…