Oracle数据库数据编程SQL<2.2 DDL 视图、序列>
目录
一、Oracle 视图(Views)
(一) Oracle 视图特点
(二)Oracle 视图创建语法
关键参数:
(三)Oracle 视图类型
1、普通视图
2、连接视图(可更新)
3、对象视图
4、物化视图(Materialized Views)
(四) Oracle 视图数据字典
(五)Oracle 可更新视图规则
(六)视图的优缺点
1、视图的优点:
2、视图的缺点:
3、视图和表的区别
二、Oracle 序列(Sequences)
(一)Oracle 序列特点
(二)Oracle 序列创建语法
重要参数:
(三)Oracle 序列操作
1、基本使用
2、修改序列
3、删除序列
(四)Oracle 序列数据字典
(五)Oracle 序列高级特性
1、缓存优化
2、循环序列
3、会话级序列(RAC环境)
(六)Oracle 12c+ 序列增强
1、标识列(IDENTITY)
2、默认序列值
三、Oracle 特有功能
(一)物化视图(Materialized Views)
1、创建刷新物化视图
2、物化视图日志
3、快速刷新
(二)序列与触发器结合
(三)视图与PL/SQL集成
四、Oracle 最佳实践
(一)视图最佳实践
(二)序列最佳实践
五、常见问题解决方案
(一)视图问题
问题1:视图变无效
问题2:视图性能差
(二)序列问题
问题1:序列缓存丢失
问题2:序列达到MAXVALUE
问题3:需要重置序列
六、Oracle 20c/21c 新特性
(一)视图增强
SQL宏视图:
JSON关系视图:
(二)序列增强
一、Oracle 视图(Views)
(一) Oracle 视图特点
Oracle 视图具有以下独特特性:
-
1. 强大的安全控制:可通过视图实现行级和列级安全
-
2. 优化器集成:Oracle 优化器能对视图查询进行高级优化
-
3. 视图约束:支持在视图上定义约束
-
4. 对象视图:可以基于对象类型创建视图
-
5. 物化视图:Oracle 特有的高性能视图类型
-
·视图名一般以v开头
·可以设置成只读模式 with read only
·修改视图相当于对原表进行修改
!!!!!在工作中一般禁止用视图修改原表!!!!!!
占的空间小,保密性高
(二)Oracle 视图创建语法
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW [schema.]view_name
[(column1, column2, ...)]
AS subquery
[WITH {CHECK OPTION [CONSTRAINT constraint_name] | READ ONLY | CONSTRAINT constraint_name}];create{or replace(有的话覆盖先前)} view 视图名 as select语句{with read only---设置成只读}
关键参数:
-
FORCE
:即使基表不存在也创建视图 -
NOFORCE
:默认,基表必须存在 -
WITH CHECK OPTION
:确保通过视图的DML操作满足视图条件 -
READ ONLY
:禁止通过视图进行DML操作
(三)Oracle 视图类型
1、普通视图
CREATE VIEW emp_dept_view AS
SELECT e.employee_id, e.last_name, e.salary, d.department_name
FROM employees e JOIN departments d
ON e.department_id = d.department_id;
2、连接视图(可更新)
CREATE VIEW emp_dept_updatable AS
SELECT e.employee_id, e.last_name, e.salary, e.department_id, d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.department_id
WHERE d.location_id = 1700
WITH CHECK OPTION CONSTRAINT emp_dept_check;
3、对象视图
CREATE TYPE emp_obj AS OBJECT (emp_id NUMBER,emp_name VARCHAR2(100),salary NUMBER
);CREATE VIEW emp_obj_view OF emp_obj
AS SELECT employee_id, last_name, salary FROM employees;
4、物化视图(Materialized Views)
CREATE MATERIALIZED VIEW mv_emp_summary
REFRESH COMPLETE ON DEMAND
AS SELECT department_id, COUNT(*) emp_count, AVG(salary) avg_salFROM employeesGROUP BY department_id;
(四) Oracle 视图数据字典
查看视图信息:
-- 用户视图定义
SELECT * FROM USER_VIEWS WHERE VIEW_NAME = 'EMP_DEPT_VIEW';-- 视图依赖关系
SELECT * FROM USER_DEPENDENCIES WHERE NAME = 'EMP_DEPT_VIEW';-- 视图列信息
SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'EMP_DEPT_VIEW';
(五)Oracle 可更新视图规则
Oracle 允许在以下条件下通过视图进行DML操作:
-
视图不包含集合操作(UNION, INTERSECT等)
-
不包含GROUP BY, CONNECT BY, START WITH子句
-
不包含聚合函数
-
不包含DISTINCT
-
不包含ROWNUM伪列
-
涉及的所有表必须具有主键约束
(六)视图的优缺点
1、视图的优点:
(1)使用视图,可以定制用户数据,聚焦特定数据
(2)使用视图,可以简化数据
(3)使用时图,对基表中的数据有一定的安全性
(4)使用视图,可以合并分离的数据,创建分区视图
2、视图的缺点:
(1)性能差
(2)修改限制
3、视图和表的区别
(1)视图是已经编译好的sql语句,而表不是
(2)视图没有实际的物理记录,而表有
(3)表是内容,视图是窗口
(4)表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在
表可以及时对他修改,但视图只能由创建语句来修改
(5)表是内模式,视图是外模式
(6)视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,
只是一些sql语句的集合,从安全角度说,试图可以不给用户接触数据表,从而不知道表结构
(7)表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表
(8)视图的建立和删除只影响视图本身,不影响对应的基表
二、Oracle 序列(Sequences)
(一)Oracle 序列特点
Oracle 序列提供以下特性:
-
1、高性能:序列值缓存于内存,减少磁盘I/O
-
2、事务安全:序列值生成不受事务回滚影响
-
3、可配置性:灵活控制序列行为
-
4、不连续保证:可能产生间隙,不适合严格连续场景
(二)Oracle 序列创建语法
CREATE SEQUENCE [schema.]sequence_name[INCREMENT BY increment][START WITH start][MAXVALUE maxvalue | NOMAXVALUE][MINVALUE minvalue | NOMINVALUE][CYCLE | NOCYCLE][CACHE cache_size | NOCACHE][ORDER | NOORDER][SESSION | GLOBAL];数据库中一个特殊存放等差数列的表。
主要用于提供主键值。
create sequence 序列名
start with 数1 --从几开始
maxvalue 数2 --最大值,到几结束
{minvalue 数3/nominvalue} --最小值,不写每个最小值默认1
increment by 数4 --一次增加几。等差,步长
cache/nocache 数5 --缓存值,提前运行多少次放在内存里。不写默认20--缓存值(类似于看视频提前缓存)--默认20, 必须小于循环次数即:cache<maxvalue
cycle/nocycle --是否循环。默认不循环
select 序列名.nextval from dual;---下一个值
select 序列名.currval from dual;---当前值
重要参数:
-
CACHE
:默认20,建议高并发系统增大缓存 -
ORDER
:确保序列值按请求顺序生成(仅RAC环境需要) -
SESSION
/GLOBAL
:序列作用域(仅RAC环境)
(三)Oracle 序列操作
1、基本使用
-- 获取下一个值
SELECT sequence_name.NEXTVAL FROM dual;-- 获取当前值(不递增)
SELECT sequence_name.CURRVAL FROM dual;-- 在DML中使用
INSERT INTO orders(order_id, ...)
VALUES (order_seq.NEXTVAL, ...);
2、修改序列
ALTER SEQUENCE sequence_name[INCREMENT BY increment][MAXVALUE maxvalue | NOMAXVALUE][MINVALUE minvalue | NOMINVALUE][CYCLE | NOCYCLE][CACHE cache_size | NOCACHE][ORDER | NOORDER];
注意:不能修改START WITH值,必须删除重建
3、删除序列
DROP SEQUENCE sequence_name;
(四)Oracle 序列数据字典
-- 用户序列信息
SELECT * FROM USER_SEQUENCES;-- 序列权限
SELECT * FROM USER_TAB_PRIVS WHERE TABLE_NAME = 'SEQUENCE_NAME';
(五)Oracle 序列高级特性
1、缓存优化
CREATE SEQUENCE high_perf_seq
CACHE 100; -- 适合高并发系统
2、循环序列
CREATE SEQUENCE cyclic_seq
START WITH 1
INCREMENT BY 1
MAXVALUE 5
MINVALUE 1
CYCLE;
3、会话级序列(RAC环境)
CREATE SEQUENCE session_seq
SESSION; -- 每个会话有独立序列值
(六)Oracle 12c+ 序列增强
1、标识列(IDENTITY)
Oracle 12c引入了类似自增列的语法:
CREATE TABLE orders (order_id NUMBER GENERATED ALWAYS AS IDENTITY,order_date DATE,...
);
2、默认序列值
CREATE TABLE employees (emp_id NUMBER DEFAULT emp_seq.NEXTVAL,...
);
三、Oracle 特有功能
(一)物化视图(Materialized Views)
1、创建刷新物化视图
CREATE MATERIALIZED VIEW mv_sales_monthly
REFRESH COMPLETE ON DEMAND
ENABLE QUERY REWRITE
AS SELECT TRUNC(sale_date, 'MONTH') AS month,product_id,SUM(amount) AS total_amountFROM salesGROUP BY TRUNC(sale_date, 'MONTH'), product_id;
2、物化视图日志
CREATE MATERIALIZED VIEW LOG ON sales
WITH ROWID, SEQUENCE(amount, sale_date, product_id)
INCLUDING NEW VALUES;
3、快速刷新
CREATE MATERIALIZED VIEW mv_sales_daily
REFRESH FAST ON COMMIT
AS SELECT TRUNC(sale_date) AS day,product_id,SUM(amount) AS total_amountFROM salesGROUP BY TRUNC(sale_date), product_id;
(二)序列与触发器结合
CREATE OR REPLACE TRIGGER trg_emp_id
BEFORE INSERT ON employees
FOR EACH ROW
BEGINIF :NEW.employee_id IS NULL THEN:NEW.employee_id := emp_seq.NEXTVAL;END IF;
END;
/
(三)视图与PL/SQL集成
CREATE OR REPLACE VIEW emp_dept_plsql AS
SELECT e.*, d.department_name,CASE WHEN e.salary > 10000 THEN 'High'WHEN e.salary > 5000 THEN 'Medium'ELSE 'Low' END AS salary_grade
FROM employees e JOIN departments d
ON e.department_id = d.department_id;
四、Oracle 最佳实践
(一)视图最佳实践
-
命名规范:使用
V_
前缀(如V_EMP_DEPT
) -
安全控制:通过视图限制敏感数据访问
-
性能监控:定期检查视图执行计划
-
注释文档:为视图添加注释说明
COMMENT ON VIEW v_emp_dept IS 'Employee with department information';
-
避免过度嵌套:限制视图嵌套层级(建议不超过3层
(二)序列最佳实践
-
缓存设置:生产环境建议CACHE >= 20
-
命名规范:使用
SEQ_
前缀(如SEQ_ORDER_ID
) -
监控使用:定期检查序列接近MAXVALUE情况
SELECT sequence_name, last_number, max_value FROM user_sequences WHERE last_number/max_value > 0.9;
-
RAC环境:使用ORDER序列确保全局顺序
-
避免循环:生产环境慎用CYCLE选项
五、常见问题解决方案
(一)视图问题
问题1:视图变无效
-- 重新编译无效视图
ALTER VIEW view_name COMPILE;-- 查找所有无效视图
SELECT object_name FROM user_objects
WHERE object_type = 'VIEW' AND status = 'INVALID';
问题2:视图性能差
-- 添加提示(Hint)
CREATE OR REPLACE VIEW v_fast_emp AS
SELECT /*+ INDEX(e emp_dept_idx) */ e.*, d.department_name
FROM employees e JOIN departments d ON e.department_id = d.department_id;
(二)序列问题
问题1:序列缓存丢失
-- 增大缓存减少问题
ALTER SEQUENCE seq_name CACHE 100;
问题2:序列达到MAXVALUE
-- 修改序列(需要足够权限)
ALTER SEQUENCE seq_name MAXVALUE 999999999999;-- 或创建新序列
CREATE SEQUENCE seq_name_new START WITH 1000000;
问题3:需要重置序列
-- 使用以下PL/SQL过程重置序列
DECLAREv_nextval NUMBER;
BEGINEXECUTE IMMEDIATE 'ALTER SEQUENCE seq_name INCREMENT BY -999999';SELECT seq_name.NEXTVAL INTO v_nextval FROM dual;EXECUTE IMMEDIATE 'ALTER SEQUENCE seq_name INCREMENT BY 1';
END;
/
六、Oracle 20c/21c 新特性
(一)视图增强
-
SQL宏视图:
CREATE OR REPLACE VIEW v_emp_dept_macro AS SELECT * FROM employees WHERE department_id IN (SELECT department_id FROM departments);
-
JSON关系视图:
CREATE OR REPLACE VIEW v_json_emp
AS SELECT e.employee_id, JSON_OBJECT('name' VALUE e.last_name, 'salary' VALUE e.salary) AS emp_dataFROM employees e;
(二)序列增强
-
SCALABLE序列(21c):
CREATE SEQUENCE seq_scalable SCALE EXTEND; -- 生成更短的唯一ID,适合分布式环境
-
会话级序列默认值:
CREATE TABLE session_orders (id NUMBER DEFAULT ON NULL seq_session.NEXTVAL,... );
相关文章:
Oracle数据库数据编程SQL<2.2 DDL 视图、序列>
目录 一、Oracle 视图(Views) (一) Oracle 视图特点 (二)Oracle 视图创建语法 关键参数: (三)Oracle 视图类型 1、普通视图 2、连接视图(可更新) 3、对象视图 4…...
关于bug总结记录
1、vs中出现bug error C1083:无法打开文件 链接:vs中出现bug error C1083:无法打开文件_vs20151083错误解决方法-CSDN博客 2、 VS小技巧:系统却提示:示msvcp120.dll丢失 链接:VS小技巧:系统却提示:示msvc…...
ClickHouse与TiDB实操对比:从入门到实战的深度剖析
ClickHouse与TiDB实操对比:从入门到实战的深度剖析 宝子们,在当今数据驱动的时代,选择合适的数据库对于处理海量数据和支撑业务发展至关重要。ClickHouse和TiDB作为两款备受关注的数据库,各自有着独特的优势和适用场景。今天&…...
【测试开发】OKR 小程序端黑盒测试报告
【测试报告】OKR 小程序端 项目名称版本号测试负责人测试完成日期联系方式OKR 小程序端4.0马铭胜2025-03-2515362558972 1、项目背景 1.1 OKR 用户端 在如今这个快节奏的时代中,个人和组织的成长往往依赖于清晰、明确且意义深远的目标。然而,如何设定…...
LibVLC —— 《基于Qt的LibVLC专业开发技术》视频教程
🔔 LibVLC/VLC 相关技术、疑难杂症文章合集(掌握后可自封大侠 ⓿_⓿)(记得收藏,持续更新中…) 《基于Qt的LibVLC专业开发技术》课程视频,(CSDN课程主页、51CTO课程主页) 适合具有一些C++/Qt编程基础,想要进一步提高或涉足音视频行业的。本课程分7章节,共计35小节。…...
故障识别 | 基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别,matlab代码
基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别 一、引言 1.1 机械故障诊断的背景和意义 在工业生产的宏大画卷中,机械设备的稳定运行…...
2025年最新自动化/控制保研夏令营预推免面试真题分享(东南大学苏州校区/华东理工/南航/天大)
笔者来2021级本科自动化专业,以下部分将介绍我在夏令营以及预推免期间发生经历和问题 东南大学苏州校区蒙纳士大学联培 东南大学苏州校区的项目算是一个比较小众的项目,是第一年在苏州校区,二三年到南京校区找导师(不提供住宿自…...
深度学习笔记19-YOLOv5-C3模块实现(Pytorch)
🍨 本文为🔗365天深度学习训练营中的学习记录博客 🍖 原作者:K同学啊 一、前期工作 1.导入数据并读取 import torch import torch.nn as nn import torchvision.transforms as transforms import torchvision from torchvisio…...
SpringCloud-环境和工程搭建
前言 JDK用17,MySQL用8.0 微服务就是微小的服务 一个微服务只做一个事情 基本概念 打开官网 spring springcloud就是给我们提供工具,方便我们来弄微服务 springcloud是分布式微服务架构的一站式解决方案 Distributed/versioned configuration 分布…...
React 中shouldComponentUpdate生命周期方法的作用,如何利用它优化组件性能?
大白话React 中shouldComponentUpdate生命周期方法的作用,如何利用它优化组件性能? 在 React 里,shouldComponentUpdate 这个生命周期方法就像是一个“关卡守卫”,它能决定组件是否需要重新渲染。组件重新渲染是个挺费性能的事儿…...
AI写一个视频转图片帧工具(python)
现在的AI写python太方便了 说的话 我想用python实现一个能够将视频的所有帧数转化为图片的软件,可以自由配置转换的帧率或者全部,需要有界面,我需要增加一点功能,就是我需要读取出视频的分辨率,然后设置输出帧的分辨…...
React第三十一章(组件实战)
组件实战 这一章建议大家看完hooks css 原理 组件 这些章节之后再来看,这样会更好理解。 本章是额外新增的,因为之前的知识大家都掌握的差不多了,所以这一章节主要是让大家动手实践,巩固一下前面的知识。 那么你会学到什么&#…...
详细介绍WideCharToMultiByte()
书籍:《Visual C 2017从入门到精通》的2.7 字符串 环境:visual studio 2022 内容:几个字符串类型->(将单字节char*转换为宽字节wchar_t *)(将宽字节wchar_t* 转换为单字节char *) WideChar…...
Qt开发:QFileDialog的使用
文章目录 一、QFileDialog的介绍二、QFileDialog的常用静态方法三、完整示例 一、QFileDialog的介绍 QFileDialog 是 Qt 框架中提供的一个用于文件选择的标准对话框类,它允许用户在应用程序中选择文件或目录。它是跨平台的,在不同操作系统上会自动适配本…...
深度学习篇---回归分类任务的损失函数
文章目录 前言一、分类任务常用损失函数1. 交叉熵损失(Cross-Entropy Loss)数学形式使用场景特点训练状态分析损失下降损失震荡训练损失低但是验证损失高 2. Hinge Loss(合页损失)数学形式适用场景特点训练状态分析损失趋近于0损失…...
【MLP-BEV(10)】BEVPooling V1和BEVPooling V2的view_transformer,进行鱼眼图片实践
文章目录 先说说 BEVPoolv1步骤1:3D点生成步骤2 2D特征采样和BEV特征生成特点再谈谈BEVPoolv2步骤1:3D点生成步骤2: 计算索引关系步骤3: `voxel_pooling`计算鱼眼图片进行实践步骤1、3D点生成(基于Kannala-Brandt 进行调整)步骤2、2D特征采样和BEV特征生成(1) 体素化 (Voxe…...
上海SMT贴片技术解析与行业趋势
内容概要 随着长三角地区电子制造产业集群的快速发展,上海作为核心城市正引领着SMT贴片技术的革新浪潮。本文聚焦表面组装技术在高密度互连、微间距贴装等领域的突破性进展,通过解析焊膏印刷精度控制、元件定位算法优化等核心工艺,展现上海企…...
RAG优化:python从零实现[吃一堑长一智]循环反馈Feedback
本文将介绍一种有反馈循环机制的RAG系统,让当AI学会"吃一堑长一智",给传统RAG装了个"后悔"系统,让AI能记住哪些回答被用户点赞/拍砖,从此告别金鱼记忆: 每次回答都像在玩roguelike:失败结局会强化下次冒险悄悄把优质问答变成新知识卡牌,实现"以…...
Ubuntu 防火墙配置
Ubuntu 防火墙配置 一、UFW 基础操作二、核心规则配置三、高级功能四、特殊场景配置五、规则管理六、默认策略与安全建议七、故障排除 一、UFW 基础操作 检查 UFW 状态 sudo ufw status # 查看防火墙状态 sudo ufw status verbose # 显示详细规则 sudo ufw status numbered #…...
网络运维学习笔记(DeepSeek优化版) 024 HCIP-Datacom OSPF域内路由计算
文章目录 OSPF域内路由计算:单区域的路由计算一、OSPF单区域路由计算原理二、1类LSA详解2.1 1类LSA的作用与结构2.2 1类LSA的四种链路类型 三、OSPF路由表生成验证3.1 查看LSDB3.2 查看OSPF路由表3.3 查看全局路由表 四、2类LSA详解4.1 2类LSA的作用与生成条件4.2 2…...
【实战ES】实战 Elasticsearch:快速上手与深度实践-2.2.1 Bulk API的正确使用与错误处理
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 Elasticsearch Bulk API 深度实践:性能调优与容错设计1. Bulk API 核心机制解析1.1 批量写入原理剖析1.1.1 各阶段性能瓶颈 2. 高性能批量写入实践2.1 客户端最佳…...
Oracle 23ai Vector Search 系列之2 ONNX(Open Neural Network Exchange)
文章目录 Oracle 23ai Vector Search 系列之2 ONNX(Open Neural Network Exchange)ONNX基本概念ONNX(Open Neural Network Exchange)ONNX Runtime ONNX Runtime 在Oracle数据库中的集成参考 Windows 环境图形化安装 Oracle 23ai Oracle 23ai Vector Search 系列之1 架构基础 Or…...
前端 - ts - - declare声明类型
在使用typeScript的项目中 需要声明属性类型 单独的局部属性 可以直接在当前文件中声明 全局属性需要在项目根目录下新建.d.ts文件 vite会自动识别.d.ts类型文件 在该文件中使用declare声明类型有三种写法 1、在某种类型的文件中声明 2、声明window上的属性类型 3、全局声明…...
Processor System Reset IP 核 v5.0(vivado)
这个IP的作用,我的理解是,比普通按键复位更加高效灵活,可以配置多个复位输出,可以配置复位周期。 1、输入信号: 重要的信号有时钟clk信号,一般连接到系统时钟;输入复位信号,一般是外…...
基于dify平台批量分析excel格式信息
如何以表格形式批量输入一些信息,然后让大模型以对话应用形式逐条进行推理分析? 这里提供一个分步解决方案,结合 Dify平台功能 和 API调用优化 的思路,既保证效率又降低复杂度: 1. 优先检查 Dify 的「数据集」功能 Di…...
GMII 接口
文章目录 概述硬件拓扑GMII 接口站管理接口发送数据时序接收数据时序参考 本文为笔者学习以太网对网上资料归纳整理所做的笔记,文末均附有参考链接,如侵权,请联系删除。 概述 GMII 是千兆网的MII接口,这个也有相应的 RGMII 接口&…...
学习不同电脑cpu分类及选购指南
关于电脑cpu 一、CPU型号的核心组成与命名规则Intel命名规则:AMD命名规则:5. 后缀:Intel常见后缀及其含义:AMD后缀一些常见的后缀及其含义:二、主流品牌CPU的分类与性能差异三、区分CPU型号的实用方法四、主流品牌CPU对比与选择建议五、选购CPU的注意事项关于不同主流CPU的…...
Android 动态设置默认Launcher(默认应用 电话-短信-浏览器-主屏幕应用))
Android 动态设置默认Launcher(默认应用 电话-短信-浏览器-主屏幕应用)) 文章目录 场景需求参考资料思路期待效果 实现方案源码流程分析和思路实现DefaultAppActivityHandheldDefaultAppFragmentHandheldDefaultAppPreferenceFragmentDefaultAppChildFragmentDefaul…...
23种设计模式-策略(Strategy)设计模式
策略设计模式 🚩什么是策略设计模式?🚩策略设计模式的特点🚩策略设计模式的结构🚩策略设计模式的优缺点🚩策略设计模式的Java实现🚩代码总结🚩总结 🚩什么是策略设计模式…...
游戏引擎学习第188天
回顾并计划今天的内容 原本这周的目标是进行可视化操作的尝试,但每一天都被一些棘手的bug和问题所阻碍,导致我们一直没能实现这个目标。直到今天,星期四,我们终于解决了这些问题,所有功能都能正常运行了,所…...
TF-IDF——自然语言处理——红楼梦案例
目录 一、红楼梦数据分析 (1)红楼梦源文件 (2)数据预处理——分卷实现思路 (3)分卷代码 二、分卷处理,删除停用词,将文章转换为标准格式 1.实现的思路及细节 2.代码实现&#…...
Oracle数据库数据编程SQL<2.3 DML增、删、改及merge into>
目录 一、DML数据操纵语言(Aate Manipulation Language) 二、【insert】插入数据 1、单行插入 2、批量插入 3、将数据同时插入到多张表insert all/insert first 三、【update】 更新数据 1、语法 2、举例 3、update使用注意事项: 四、【delete…...
面试计算机操作系统解析(一中)
判断 1. 一般来说,先进先出页面置换算法比最近最少使用页面置换算法有较少的缺页率。(✘) 正确答案:错误解释:FIFO(先进先出)页面置换算法可能导致“Belady异常”,即页面数增加反而…...
启山智软实现b2c单商户商城对比传统单商户的优势在哪里?
启山智软实现 B2C 单商户商城具有以下对比优势: 技术架构方面 先进的框架选型:基于 SpringCloud 等主流框架开发,是百万真实用户沉淀并检验的商城系统,技术成熟稳定,能应对高并发场景,保证系统在大流量访…...
蓝桥杯备考:贪心问题之均分纸牌
咱的贪心策略就是每次分好一个堆儿,如果某个堆已经是满足题意了,就不用管这个堆了,否则要向下一个堆借几个元素 #include <iostream> using namespace std; const int N 110; typedef long long ll; int a[N]; int n; ll x; int cnt…...
免去繁琐的手动埋点,Gin 框架可观测性最佳实践
作者:牧思 背景 在云原生时代的今天,Golang 编程语言越来越成为开发者们的首选,而对于 Golang 开发者来说,最著名的 Golang Web 框架莫过于 Gin [ 1] 框架了,Gin 框架作为 Golang 编程语言官方的推荐框架 [ 2] &…...
centos7 linux VMware虚拟机新添加的网卡,能看到网卡名称,但是看不到网卡的配置文件
问题现象:VMware虚拟机新添加的网卡,能看到网卡,但是看不到网卡的配置文件 解决方案: nmcli connection show nmcli connection add con-name ens36 ifname ens36 type ethernet #创建一个网卡连接配置文件,这里con…...
python的内置方法getitem和len
完整小测试: #python的内置函数,getitemclass Animal():def __init__(self,name):self.name namedef __str__(self):return f"This is {self.name}"class Zoo():def __init__(self,animal_list):self.animal_list animal_listdef __getite…...
深入理解 Git Stash:功能、用法与实战示例
文章目录 深入理解 Git Stash:功能、用法与实战示例一、Git Stash 的核心概念二、Git Stash 的基本用法1. 存储当前修改2. 查看 Stash 列表3. 恢复 Stash4. 恢复并删除 Stash5. 删除 Stash(1)删除指定 Stash(2)清空所有…...
SQL 复杂查询和性能优化
一、掌握复杂查询的核心技能 1. 理解 SQL 执行顺序 SQL 语句的逻辑执行顺序(非书写顺序): FROM → JOIN → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY → LIMIT 关键点:每一步的结果会传递给下一步&a…...
【web应用安全】关于web应用安全的几个主要问题的思考
文章目录 防重放攻击1. **Token机制(一次性令牌)**2. **时间戳 超时验证**3. **Nonce(一次性随机数)**4. **请求签名(如HMAC)**5. **HTTPS 安全Cookie**6. **幂等性设计****综合防御策略建议****注意事项…...
看懂roslunch输出
自编了一个demo 第一步:创建功能包 cd ~/catkin_ws/src catkin_create_pkg param_demo roscpp第二步:写 main.cpp 创建文件:param_demo/src/param_node.cpp #include <ros/ros.h> #include <string>int main(int argc, char*…...
如何查看Unity打包生成的ab文件
文章目录 前言AssetStudioab文件介绍1. 动态加载资源2. 资源分离与模块化3. 平台兼容性4. 资源压缩与加密5. 资源管理与更新6. 减少安装包大小7. 资源加载灵活性8. 资源打包与分发9. 实际应用场景10. 注意事项 总结 前言 问题来源于工作又回归到工作,当发现发布包里…...
从泛读到精读:合合信息文档解析如何让大模型更懂复杂文档
从泛读到精读:合合信息文档解析如何让大模型更懂复杂文档 一、引言:破解文档“理解力”瓶颈二、核心功能:合合信息的“破局”亮点功能亮点1:复杂图表的高精度解析图表解析:为大模型装上精准“标尺”表格数据精准还原 功…...
Python SciPy面试题及参考答案
目录 什么是 SciPy?它与 NumPy 有什么区别? 如何在 Python 中安装 SciPy? 如何导入 SciPy 库? SciPy 中有哪些子模块?简要介绍它们的功能。 如何使用 SciPy 进行数值积分?请举例说明。 SciPy 中提供了哪些求解微分方程的函数? 什么是插值?SciPy 中如何进行插值?…...
21.Excel自动化:如何使用 xlwings 进行编程
一 将Excel用作数据查看器 使用 xlwings 中的 view 函数。 1.导包 import datetime as dt import xlwings as xw import pandas as pd import numpy as np 2.view 函数 创建一个基于伪随机数的DataFrame,它有足够多的行,使得只有首尾几行会被显示。 df …...
【redis】数据类型之Stream
Redis Stream是Redis 5.0版本引入的一种新的数据类型,它提供了一种持久化的、可查询的、可扩展的消息队列服务。 它结合了Redis高性能的特性与持久化能力,支持: 多消费者组模式(Consumer Groups)消息回溯(…...
day17 周末两天偷懒没更新,今天炼丹加学习,完结STL常用容器部分
还剩下两个常用容器,一个是set(集合容器) , 一个是map容器 set/multiset 容器 set容器是关联式容器,该容器的特点是:所有元素都会在插入时被自动排序 set/multiset 都是关联式容器 ,其底层结构是使用二叉树实现的。…...
嵌入式开发场景中Shell脚本执行方式的对比
Shell脚本执行方式对比表 执行方式命令示例是否需要执行权限是否启动子Shell环境变量影响范围适用场景嵌入式开发中的典型应用直接执行脚本./script.sh是是子Shell内有效独立运行的脚本,需固定环境自动化构建脚本(…...
数据结构之多项式相加的链表实现
在计算机科学中,多项式的表示和运算经常会用到。使用链表来表示多项式是一种常见且有效的方法,它可以方便地处理多项式的各项,并且在进行多项式相加等运算时具有较好的灵活性。 多项式通常由一系列的项组成,每一项包含一个系数和…...