详解Oracle表的类型(二)
1.引言:
Oracle数据库提供了多种表类型,以满足不同的数据存储和管理需求。本博文将对Oracle分区表及使用场景进行详细介绍。
2. 分区表
分区表是Oracle数据库中一种重要的表类型,它通过将表数据分割成多个逻辑部分来提高查询性能、管理灵活性和数据可用性。
2.1 定义:
分区表是根据指定的分区键将表数据分割成多个逻辑部分,每个部分称为一个分区。从逻辑上看,分区表仍然是一个完整的表,但在物理上,它的数据被分散存储在不同的分区中。
2.2 特点:
- 提高查询性能:通过分区裁剪(Partition Pruning)技术,Oracle可以仅扫描与查询条件相关的分区,从而显著减少I/O负载,提高查询速度。
- 增强管理灵活性:每个分区可以独立进行管理,包括备份、恢复、加载、卸载和索引等操作。这大大降低了维护成本,并提高了管理效率。
- 提高数据可用性:当一个分区出现故障时,不会影响其他分区的正常使用。此外,分区表还支持并行处理,可以进一步提高系统性能。
2.3 分区类型
Oracle提供了多种分区类型,以满足不同的业务需求:
- 范围分区(Range Partitioning):根据分区键的数值范围来划分分区。例如,可以按照时间范围(如年份、月份)或数值范围(如订单金额)来划分分区。
- 列表分区(List Partitioning):根据分区键的离散值来划分分区。例如,可以按照地区、部门或产品类型来划分分区。
- 哈希分区(Hash Partitioning):根据分区键的哈希值来划分分区。哈希分区可以确保数据在分区间的均匀分布,但无法控制数据的具体分布。
- 组合分区(Composite Partitioning):结合使用范围分区和列表分区或哈希分区。例如,可以先按照时间范围进行范围分区,然后在每个范围内再按照地区进行列表分区。
2.4 分区键设计
分区键是决定表数据如何分配到不同分区的关键。在选择分区键时,应考虑以下几点:
- 唯一性:分区键应具有足够的选择性,以确保数据能够均匀地分布到各个分区中。
- 查询性能:分区键应与查询条件紧密相关,以便利用分区裁剪技术提高查询性能。
- 更新频率:分区键的更新频率应尽可能低,以减少分区移动和合并的开销。
2.5 分区表的优势
- 提高查询性能:通过分区裁剪和并行处理,可以显著提高查询速度。
- 增强管理灵活性:每个分区可以独立进行管理,降低了维护成本,并提高了管理效率。
- 提高数据可用性:当一个分区出现故障时,不会影响其他分区的正常使用,从而提高了系统的整体可用性。
- 优化存储空间:可以将不同的分区存储在不同的表空间中,以优化存储空间的使用。
2.6 分区表的使用场景
Oracle分区表主要应用于需要处理大量数据的场合,以提高数据库的性能、可管理性和可用性。
2.6.1 应用场合
- 大型数据库:当单表数据量非常大时(例如超过2GB),使用分区表可以显著提高查询性能和数据管理效率。
- 历史数据管理:对于包含大量历史数据的表,使用分区表可以方便地将新数据添加到新的分区中,同时保留历史数据以便查询和分析。
- 高并发访问:在高并发访问的系统中,通过分区表可以分散I/O负载,提高系统的并发处理能力。
- 数据备份和恢复:分区表允许用户独立地备份和恢复每个分区的数据,从而简化了数据备份和恢复的过程。
2.6.2 范例演示
- 范围分区(Range Partitioning)
应用场合:适用于基于时间顺序的数据,如日志表、销售记录表等。
假设有一个包含销售订单的orders表,该表非常大,并且经常按日期查询数据。可以按月份对order_date字段进行范围分区:
CREATE TABLE orders (order_id NUMBER,customer_id NUMBER,order_date DATE,total_amount NUMBER
) PARTITION BY RANGE (order_date) (PARTITION p_2023q1 VALUES LESS THAN (TO_DATE('01-APR-2023', 'DD-MON-YYYY')),PARTITION p_2023q2 VALUES LESS THAN (TO_DATE('01-JUL-2023', 'DD-MON-YYYY')),PARTITION p_2023q3 VALUES LESS THAN (TO_DATE('01-OCT-2023', 'DD-MON-YYYY')),PARTITION p_2023q4 VALUES LESS THAN (TO_DATE('01-JAN-2024', 'DD-MON-YYYY'))
);
在这个例子中,orders表被划分为四个季度的分区。如果查询是针对特定季度的数据,那么Oracle只会扫描相关的分区,而不是整个表。
- 列表分区(List Partitioning)
应用场合:适用于基于离散值列表的数据,如地区表、状态表等。
假设有一个regions表,其中包含不同国家的信息,并且想根据洲来划分数据:
CREATE TABLE regions (region_id NUMBER,country_name VARCHAR2(50),continent VARCHAR2(20)
) PARTITION BY LIST (continent) (PARTITION p_north_america VALUES ('North America'),PARTITION p_south_america VALUES ('South America'),PARTITION p_europe VALUES ('Europe'),PARTITION p_asia VALUES ('Asia'),PARTITION p_africa VALUES ('Africa'),PARTITION p_oceania VALUES ('Oceania')
);
在这个例子中,regions表被划分为六个分区,每个分区对应一个洲。
- 哈希分区(Hash Partitioning)
应用场合:适用于无法有效划分范围或列表的数据,如用户表、会话表等。
假设有一个users表,需要均匀分布用户数据以平衡I/O负载:
CREATE TABLE users (user_id NUMBER,username VARCHAR2(50),email VARCHAR2(100)
) PARTITION BY HASH (user_id) PARTITIONS 4;
在这个例子中,users表被均匀分成四个分区,分区键是user_id。
- 组合分区(Composite Partitioning)
应用场合:适用于需要更细粒度分区的数据,如销售记录表、订单详情表等。
假设有一个sales表,首先按年份进行范围分区,然后在每个年份内按product_id进行哈希子分区:
CREATE TABLE sales (sale_id NUMBER,product_id NUMBER,sale_date DATE,amount NUMBER
) PARTITION BY RANGE (sale_date) SUBPARTITION BY HASH (product_id) SUBPARTITIONS 4 (PARTITION p_2023 VALUES LESS THAN (TO_DATE('01-JAN-2024', 'DD-MON-YYYY')),PARTITION p_2024 VALUES LESS THAN (TO_DATE('01-JAN-2025', 'DD-MON-YYYY'))
);
在这个例子中,sales表首先按年份范围分区,然后在每个年份内按product_id进行哈希子分区。
2.7 分区表综合案例
- 实际开发中会遇到这样的场景:创建一个分区表,将每天0-24点的数据存到对应分区,再按照每天存到每月,再按照每月存到年分区。
- 建议:此场景可以使用复合分区(Composite Partitioning)。具体来说,这里可以使用子分区(Subpartitioning),结合范围分区(Range Partitioning)和列表分区(List Partitioning)或者范围-范围分区(Range-Range Partitioning)。
- 演示:假设我们有一个表 sales_data,它包含销售数据,并希望按照你描述的方式进行分区:
CREATE TABLE sales_data (sale_id NUMBER PRIMARY KEY,sale_date DATE,amount NUMBER,customer_id NUMBER,product_id NUMBER
)
PARTITION BY RANGE (sale_date)
SUBPARTITION BY RANGE (TO_CHAR(sale_date, 'DD'))
SUBPARTITION TEMPLATE (SUBPARTITION sp_day_01 VALUES LESS THAN ('02'),SUBPARTITION sp_day_02 VALUES LESS THAN ('03'),... -- 继续为每天创建一个子分区SUBPARTITION sp_day_30 VALUES LESS THAN ('31'),SUBPARTITION sp_day_31 VALUES LESS THAN (MAXVALUE) -- 处理月份中可能有30或31天的情况
)
(PARTITION p_2022 VALUES LESS THAN (TO_DATE('2023-01-01', 'YYYY-MM-DD')),PARTITION p_2023 VALUES LESS THAN (TO_DATE('2024-01-01', 'YYYY-MM-DD'))-- 可以按需添加更多年度分区
);
-- 注意:上述示例中子分区模板为每天创建了子分区,
-- 但是这种方式写起来会比较冗长。可以用类似方式扩展每月的分区。
-- 为了简化,以下示例展示如何按月创建子分区,并进一步简化。-- 创建一个按年-月-日分区的表
CREATE TABLE sales_data (sale_id NUMBER PRIMARY KEY,sale_date DATE,amount NUMBER,customer_id NUMBER,product_id NUMBER
)
PARTITION BY RANGE (sale_date)
SUBPARTITION BY RANGE (TO_CHAR(sale_date, 'MM'))
SUBPARTITION TEMPLATE (SUBPARTITION sp_jan VALUES LESS THAN ('02'),SUBPARTITION sp_feb VALUES LESS THAN ('03'),SUBPARTITION sp_mar VALUES LESS THAN ('04'),SUBPARTITION sp_apr VALUES LESS THAN ('05'),SUBPARTITION sp_may VALUES LESS THAN ('06'),SUBPARTITION sp_jun VALUES LESS THAN ('07'),SUBPARTITION sp_jul VALUES LESS THAN ('08'),SUBPARTITION sp_aug VALUES LESS THAN ('09'),SUBPARTITION sp_sep VALUES LESS THAN ('10'),SUBPARTITION sp_oct VALUES LESS THAN ('11'),SUBPARTITION sp_nov VALUES LESS THAN ('12'),SUBPARTITION sp_dec VALUES LESS THAN ('13')(SUBPARTITION sp_day_01 VALUES LESS THAN (TO_DATE('2022-01-02', 'YYYY-MM-DD')),SUBPARTITION sp_day_02 VALUES LESS THAN (TO_DATE('2022-01-03', 'YYYY-MM-DD')),-- 按需添加更多天的分区,可以使用脚本生成这些分区SUBPARTITION sp_day_31 VALUES LESS THAN (TO_DATE('2022-02-01', 'YYYY-MM-DD')) -- 简化示例,假设每月31天)
)
(PARTITION p_2022 VALUES LESS THAN (TO_DATE('2023-01-01', 'YYYY-MM-DD')),PARTITION p_2023 VALUES LESS THAN (TO_DATE('2024-01-01', 'YYYY-MM-DD'))-- 按需添加更多年度分区
);
-- 说明:
-- 1. 上面的示例展示了如何创建年度分区,并在年度分区下创建月度子分区。
-- 2. 每月的子分区模板中再进一步按天分区。为了简化示例,假设每月31天,实际应用时需要细化。
-- 3. 可以使用脚本生成复杂的分区结构,特别是按天分区部分,以避免手动错误。
- 特别说明:创建如此多的分区(特别是按天分区)会使分区管理变得复杂,在创建前务必弄清楚需求。
2.8 分区表注意事项
- 分区键选择:应谨慎选择分区键,以确保数据能够均匀地分布到各个分区中。
- 分区数量:分区数量不宜过多或过少。过多的分区会增加管理开销和查询复杂性;过少的分区则无法充分利用分区表的优势。
- 性能监控:大量的分区会影响查询性能及DML操作性能,需要权衡分区数量和性能之间的关系。应定期监控分区表的性能,包括查询速度、I/O负载和分区使用情况等,以便及时调整分区策略和优化性能。
- 维护:定期添加新的分区(例如新的年度或月度分区)需要自动化脚本支持,以减少人工干预。
- 分区模板:SUBPARTITION TEMPLATE 是一个强大的特性,可以简化分区表的定义,但要注意模板中的范围定义。
2.9 总结
Oracle分区表通过将大表划分为多个小的、可管理的分区,显著提高了数据库的性能、可管理性和可用性。在实际应用中,可以根据数据的特性和查询需求选择合适的分区策略,以实现最佳的性能和可维护性。
本篇完结。
关注作者,您将获得更多OCP考试及Oracle DB方面的实战经验。后续不定期分享DB核心知识和排障案例及经验、性能调优等
相关文章:
详解Oracle表的类型(二)
1.引言: Oracle数据库提供了多种表类型,以满足不同的数据存储和管理需求。本博文将对Oracle分区表及使用场景进行详细介绍。 2. 分区表 分区表是Oracle数据库中一种重要的表类型,它通过将表数据分割成多个逻辑部分来提高查询性能、管理灵活…...
VSCode 下载 安装
VSCode【下载】【安装】【汉化】【配置C环境(超快)】(Windows环境)-CSDN博客 Download Visual Studio Code - Mac, Linux, Windowshttps://code.visualstudio.com/Downloadhttps://code.visualstudio.com/Download 注意࿰…...
java中的最小堆
概述 最小堆minHeap指的级别n的每个节点存储的值小于或等于级别n1的子节点的值。因此,根就存储了其中最小的值。 注意节点的值与其他兄弟节点的值之间没有必然关系。 java中最小堆的表示 利用数组 常用的是利用数组minHeap[]表示,将最小堆的节点或值…...
ES实用面试题
一、es是什么,为什么要用它? ES通常是Elasticsearch的简称,它是一个基于Lucene构建的开源搜索引擎。Elasticsearch以其分布式、高扩展性和实时数据分析能力而闻名,广泛用于全文搜索、日志分析、实时监控等多种场景。 基本特点&am…...
数据结构 (7)线性表的链式存储
前言 线性表是一种基本的数据结构,用于存储线性序列的元素。线性表的存储方式主要有两种:顺序存储和链式存储。链式存储,即链表,是一种非常灵活和高效的存储方式,特别适用于需要频繁插入和删除操作的场景。 链表的基本…...
数据结构:链表进阶
链表进阶 1. ArrayList的缺陷2. 链表2.1 链表的概念及结构2.2 链表的实现 3.链表面试题4.LinkedList的使用5.1 什么是LinkedList4.2 LinkedList的使用 5. ArrayList和LinkedList的区别 1. ArrayList的缺陷 通过源码知道,ArrayList底层使用数组来存储元素࿱…...
Can UDS 学习记录
目录 Can UDS 学习记录10 03 响应否定响应22和24 的说明27服务肯定响应抑制位 Can UDS 学习记录 10 03 响应 否定响应22和24 的说明 0x22条件不正确,就是不满足服务端的运行条件0x24请求顺序错误;停止例程的请求必须在开始例程后面才可以,请…...
C 语言实现的优先级队列
C 语言实现的优先级队列 priorityqueue.h /******************************************************************************* * Copyright © 2024-2025 Light Zhang <mapawarehotmail.com>, MapAware, Inc. * * ALL RIGHTS RESERVED. …...
卷积神经网络(CNN)中的批量归一化层(Batch Normalization Layer)
批量归一化层(BatchNorm层),或简称为批量归一化(Batch Normalization),是深度学习中常用的一种技术,旨在加速神经网络的训练并提高收敛速度。 一、基本思想 为了让数据在训练过程中保持同一分布…...
HDR视频技术之四:HDR 主要标准
HDR 是 UHD 技术中最重要维度之一,带来新的视觉呈现体验。 HDR 技术涉及到采集、加工、传输、呈现等视频流程上的多个环节,需要定义出互联互通的产业标准,以支持规模化应用和部署。本文整理当前 HDR 应用中的一些代表性的国际标准。 1 HDR 发…...
下一个阶段的生产工具更换:
开源竞争: 当你无法彻底掌握技术的时候,就开源这个技术,让更多的人了解这个技术,形成更多的技术依赖,你会说,这不就是在砸罐子吗?一个行业里面总会有人砸罐子的,你不如先砸罐子&…...
性能优化--CPU微架构
一 指令集架构 Intel X86, ARM v8, RISC-V 是当今广泛使用的指令架构的实例。 大多数现代架构可以归类为基于通用寄存器的加载和存储型架构,在这种架构下,操作数倍明确指定,只能使用夹在和存储指令访问内存。除提供基本的功能之外,…...
3.3_1 差错控制(检错编码)
目录 1、差错来源 全局性 局部性 2、数据链路的差错控制 编辑奇偶校验码 CRC循环冗余码 接收端检错过程 1、差错来源 概括来说,传输中的差错都是由于噪声引起的。 全局性 由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的…...
2024年wordpress、d-link等相关的多个cve漏洞poc
⚠️ 漏洞 ✅ CVE-2024-10914 在D-Link DNS-320、DNS-320LW、DNS-325和DNS-340L中发现的漏洞,版本直到20241028 GET /cgi-bin/account_mgr.cgi?cmdcgi_user_add&name%27;id;%27 HTTP/1.1✅ CVE-2024-11305 在Altenergy Power Control Software中发现的关键…...
影视后期学习Ⅰ~
1.DV是光盘 磁带 2.序列就是我们要制作的一个视频。 打开界面显示: 一号面板放的是素材,二号面板叫源监视器面板(它的名字需要记住)在一号面板点击文件之后,进入二号面板,在二号面板预览没问题后…...
如何安全删除 Linux 用户帐户和主目录 ?
Linux 以其健壮性和灵活性而闻名,是全球服务器和桌面的首选。管理用户帐户是系统管理的一个基本方面,包括创建、修改和删除用户帐户及其相关数据。本指南全面概述了如何在 Linux 中安全地删除用户帐户及其主目录,以确保系统的安全性和完整性。…...
【软件测试】设计测试用例的万能公式
文章目录 概念设计测试用例的万能公式常规思考逆向思维发散性思维万能公式水杯测试弱网测试如何进行弱网测试 安装卸载测试 概念 什么是测试用例? 测试⽤例(Test Case)是为了实施测试⽽向被测试的系统提供的⼀组集合,这组集合包…...
【MySQL】字符集与排序规则
1. 字符集 1.1 一些重要的字符集 1.1.1 ASCII 共收录128个字符,包括空格、标点符号、数字、大小写字母和一些不可见字符。由于总共才128个字符,所以可以使用1个字节来进行编码 1.1.2 ISO-8859-1 共收录 256 个字符,是在 ASCII 字符集的基…...
局域网与广域网:探索网络的规模与奥秘(3/10)
一、局域网的特点 局域网覆盖有限的地理范围,通常在几公里以内,具有实现资源共享、服务共享、维护简单、组网开销低等特点,主要传输介质为双绞线,并使用少量的光纤。 局域网一般是方圆几千米以内的区域网络,其特点丰富…...
C++从零到满绩——类和对象(中)
目录 1>>前言 2>>构造函数(我称之为初始化函数) 3>>析构函数(我称之为销毁函数) 4>>拷贝构造函数(我称之为复制函数) 5>>运算符重载 5.2>>赋值运算符重载 编辑…...
MFC工控项目实例三十一模拟量转化为工程量
实测工程量值(变送器量程最大值-变送器量程最小值)/(数字量最大值-数字量最小值)*(当前采集工程量值-零点误差值)。 相关程序代码 SEAL_PRESSURE.h class CSEAL_PRESSUREApp : public CWinApp { public:C…...
ESP32学习笔记_FreeRTOS(2)——Queue
摘要(From AI): 在嵌入式系统开发中,任务之间的高效通信是实现多任务协作的关键。FreeRTOS 提供了强大的队列机制,支持任务之间安全、灵活地传递数据,是实现任务同步和事件通知的核心工具。本篇博客将全面解析 FreeRTOS 队列的工作原理和应用…...
Project Manager工程管理器详细说明
1前言 STM32CubeMX的Project Manager工程管理器包含:Project工程管理、 Code Generator代码生成、 Advanced Settings高级设置三部分内容。 这三部分内容决定了工程的一些属性,相关的配置信息比较重要,也容易理解。初学者有必要掌握其中内容。 2Project工程管理 Project工…...
vue el-table表格点击某行触发事件操作栏点击和row-click冲突问题
文章为本新手菜鸡的问题记录,如有错误和不足还请大佬指正 文章目录 前言一、点击el-table表格某行,触发事件二、解决el-table的操作栏点击和row-click冲突问题1.问题:2.解决方法 前言 文章主要解决两个问题: 1、点击el-table表格…...
吸猫毛空气净化器哪个好?推荐除猫毛效果好的宠物空气净化器品牌
我家里养了五只猫咪,每天睡醒准备来杯咖啡的时候,总能看见猫毛。最尴尬的是这种现象,哪哪都有。养猫人真的每天都要生活在这个世界里面。平时和猫咪玩耍的时候也没有发现这么多猫毛啊。现在一到冬天不能开窗户,真的超级难受感觉每…...
Reactor 模式的理论与实践
1. 引言 1.1 什么是 Reactor 模式? Reactor 模式是一种用于处理高性能 I/O 的设计模式,专注于通过非阻塞 I/O 和事件驱动机制实现高并发性能。它的核心思想是将 I/O 操作的事件分离出来,通过事件分发器(Reactor)将事…...
VSCode 汉化教程【简洁易懂】
VSCode【下载】【安装】【汉化】【配置C环境(超快)】(Windows环境)-CSDN博客 我们安装完成后默认是英文界面。 找到插件选项卡,搜索“Chinese”,找到简体(更具你的需要)(…...
cookie反爬----普通服务器,阿里系
目录 一.常见COOKIE反爬 普通: 1. 简介 2. 加密原理 二.实战案例 1. 服务器响应cookie信息 1. 逆向目标 2. 逆向分析 2. 阿里系cookie逆向 1. 逆向目标 2. 逆向分析 实战: 无限debugger原理 1. Function("debugger").call() 2. …...
【计算机网络】计算机网络概述
当我们决定要谈谈网络的时候,我想在谈之前,有必要了解一下“协议”这个词。协议,定义了在俩个或者多个通信实体之间交换报文的格式和次序,以及报文发送、接收报文或者其他的事件所采取的动作。定义都比较晦涩,那就让我…...
微信小程序条件渲染与列表渲染的全面教程
微信小程序条件渲染与列表渲染的全面教程 引言 在微信小程序的开发中,条件渲染和列表渲染是构建动态用户界面的重要技术。通过条件渲染,我们可以根据不同的状态展示不同的内容,而列表渲染则使得我们能够高效地展示一组数据。本文将详细讲解这两种渲染方式的用法,结合实例…...
MySQL--存储引擎
目录 1 MySQL体系结构 2 存储引擎简介 3 存储引擎特点 3.1 InnoDB 3.1.1 介绍 3.1.2 特点 3.1.3 文件 3.2 逻辑存储结构 3.3 MyISAM 3.3.1 介绍 3.3.2 特点 3.3.3 文件 3.4 Memory 3.3.1 介绍 3.3.2 特点 3.3.3 文件 4 存储引擎选择 Innodb MyISAM MEMORY …...
洛谷 B2038:奇偶 ASCII 值判断
【题目来源】https://www.luogu.com.cn/problem/B2038http://shnoip.openjudge.cn/level1/39/【题目描述】 任意输入一个字符,判断其 ASCII 是否是奇数,若是,输出 YES,否则,输出 NO。 例如,字符 A 的 ASCII…...
软件测试面试之常规问题
1.描述一下测试过程 类似题目:测试的生命周期 思路:这是一个“范围”很大的题目,而且回答时间一般在3分钟之内,不可能非常详细的描述整个过程,因此答题的思路要从整体结构入手,不要过细。为了保证答案的准确性,可以引…...
Android 天气APP(三十七)新版AS编译、更新镜像源、仓库源、修复部分BUG
上一篇:Android 天气APP(三十六)运行到本地AS、更新项目版本依赖、去掉ButterKnife 新版AS编译、更新镜像源、仓库源、修复部分BUG 前言正文一、更新镜像源① 腾讯源③ 阿里源 二、更新仓库源三、修复城市重名BUG四、地图加载问题五、源码 前…...
网络性能及IO性能测试工具
文章目录 简介IO性能pidstatiostatfioblktrace 网络性能ipeftrek 简介 网络性能和IO性能测试工具在现代计算环境中至关重要。无论是评估网络带宽、优化数据传输速度,还是检测磁盘读写性能,选择适合的工具至关重要。本文将介绍各种网络性能和IO性能测试工…...
1+X应急响应(网络)常见网络攻击-SQL注入:
常见网络攻击-SQL注入: SQL注入概述: 动态网站的工作流程: SQL注入的起源: SQL典型的攻击手段: SQL注入的危害: SQL注入的函数: SQL注入类型: 提交方式分类: Get注入&am…...
流式上传与分片上传的原理与实现
🚀 博主介绍:大家好,我是无休居士!一枚任职于一线Top3互联网大厂的Java开发工程师! 🚀 🌟 在这里,你将找到通往Java技术大门的钥匙。作为一个爱敲代码技术人,我不仅热衷…...
基于深度学习CNN算法的花卉分类识别系统01--带数据集-pyqt5UI界面-全套源码
文章目录 基于深度学习算法的花卉分类识别系统一、项目摘要二、项目运行效果三、项目文件介绍四、项目环境配置1、项目环境库2、环境配置视频教程 五、项目系统架构六、项目构建流程1、数据集2、算法网络Mobilenet3、网络模型训练4、训练好的模型预测5、UI界面设计-pyqt56、项目…...
【数电】常见组合逻辑电路设计和分析
1.基于数据选择器设计 1.1卡诺图降维 1.2实例分析 1.2.1例题一 1.2.2例题二 1.2.2例题三 2.基于译码器设计 3.参考资料 1.《数字电子技术基础 第六版》 阎石王红 2.卡诺图的降维_哔哩哔哩_bilibili...
攻防世界-web ics-06 [解法思路]
进入环境 点击左边的列表只有报表中心有反应 注意看url直接就是index.php?id1 我先试了sqlmap不行,然后就沉淀了一下 想到了id后面的参数问题,我谁便改了几个数都没反应 就想着用bp抓包爆一下这个参数,用了一个数字10000的字典 发现2333…...
传智杯 3-初赛:终端
题目描述: 有一天您厌烦了电脑上又丑又没用的终端,打算自己实现一个 Terminal。具体来说,它需要支持如下命令: 1. touch filename:如果名为 filename 的文件不存在,就创建一个这样的文件,如果已经存在同名…...
《数据结构》学习系列——图(中)
系列文章目录 目录 图的遍历深度优先遍历递归算法堆栈算法 广度优先搜索 拓扑排序定义定理算法思想伪代码 关键路径基本概念关键活动有关量数学公式伪代码时间复杂性 图的遍历 从给定连通图的某一顶点出发,沿着一些边访问遍图中所有的顶点,且使每个顶点…...
网络安全,文明上网(2)加强网络安全意识
前言 在当今这个数据驱动的时代,对网络安全保持高度警觉已经成为每个人的基本要求。 网络安全意识:信息时代的必备防御 网络已经成为我们生活中不可或缺的一部分,信息技术的快速进步使得我们对网络的依赖性日益增强。然而,网络安全…...
Laravel对接SLS日志服务
Laravel对接SLS日志服务(写入和读取) 1、下载阿里云的sdk #通过composer下载 composer require alibabacloud/aliyun-log-php-sdk#对应的git仓库 https://github.com/aliyun/aliyun-log-php-sdk2、创建sdk请求的service <?phpnamespace App\Ser…...
Kafka 工作流程解析:从 Broker 工作原理、节点的服役、退役、副本的生成到数据存储与读写优化
Kafka:分布式消息系统的核心原理与安装部署-CSDN博客 自定义 Kafka 脚本 kf-use.sh 的解析与功能与应用示例-CSDN博客 Kafka 生产者全面解析:从基础原理到高级实践-CSDN博客 Kafka 生产者优化与数据处理经验-CSDN博客 Kafka 工作流程解析:…...
基于 Flink 的车辆超速监测与数据存储的小实战
基于 Flink 的车辆超速监测与数据存储的小实战 一、实战背景与目标 在智能交通管理领域,实时监控车辆行驶速度并精准识别超速行为对于保障道路交通安全和维护交通秩序具有至关重要的意义。本项目旨在构建一个高效的数据处理系统,能够从 Kafka 的 topic…...
Shell 脚本基础(7):重定向详解
内容预览 ≧∀≦ゞ Shell 脚本基础(7):重定向详解声明1. 重定向基础概念1.1 输出重定向(> 和 >>)覆盖写入(>)追加写入(>>)输出到终端和文件࿰…...
04. 流程控制
一、流程控制 流程控制就是用来控制程序运行中各语句执行顺序的语句。基本的流程结构为:顺序结构,分支结构(或称选择结构),循环结构。 顺序结构:程序自上到下执行,中间没有任何判断和跳转&…...
基于卡尔曼滤波器的 PID 控制
基于卡尔曼滤波器的PID控制算法结合了经典控制理论和现代信号处理技术。卡尔曼滤波器(Kalman Filter, KF)可以对噪声数据进行平滑处理,从而改善PID控制器的性能,特别是在处理具有噪声和不确定性的系统时。以下是详细的设计过程&am…...
基于信创环境的信息化系统运行监控及运维需求及策略
随着信息技术的快速发展和国家对信息安全的日益重视,信创环境(信息技术应用创新环境)的建设已成为行业发展的重要趋势。本指南旨在为运维团队在基于信创环境的系统建设及运维过程中提供参考,确保项目顺利实施并满足各项技术指标和…...