如何专业的更换主键索引

SpringBoot实现加密数据模糊查询:HMAC分片索引架构与实战 在数据安全领域,加密存储是保护敏感信息的基石,常用AES等强加密算法确保数据机密性。其原理是通过密钥对明文进行转换,生成无法直接解读的密文。然而,传统加密技术面临一个核心挑战:如何在数据加密后仍支持高效的模糊查询,这对于用户检索、风控等场景至关重要。可搜索加密技术应运而生,它旨在解决密文上的检索问题,其中一种工程实践思路是采用“索引化”策略,在安全与性能间取得平衡。HMAC(基于哈希的消息认证码)技术因其不可逆性和密钥依赖性,常被用于构建安全索引,通过对数据分片计算HMAC值,既能支持模糊匹配,又不泄露明文 阅读详情

如何专业的更换主键索引
https://www.cnblogs.com/wuxun1997/p/9766525.html

继续昨天的折腾(Oracle修改主键约束),删掉主键约束后,发现唯一索引并未删掉。仔细看了下,主键约束跟唯一索引名称不一样,这说明是先创建了唯一索引,后创建的主键约束。我们来试验下:

复制代码
SQL> create unique index PK_T_INVITEE_RECORD_TEST on T_INVITEE_RECORD_TEST(INVITEEMSISDN, INVITERMSISDN, ACTIVITYID) tablespace TBS_VCODE_IDX;

Index created
SQL> alter table T_INVITEE_RECORD_TEST add constraint SYS_C00133333 PRIMARY KEY (INVITEEMSISDN, INVITERMSISDN, ACTIVITYID);

Table altered
复制代码

这时候如果删除主键约束SYS_C00133333的话,唯一索引PK_T_INVITEE_RECORD_TEST不会自动删除:

SQL> alter table T_INVITEE_RECORD_TEST drop constraint SYS_C00133333;

Table altered

这时候如果我们再次创建新的主键约束的话,有两种情况:一是不指定索引表空间(不建议),那么可以创建成功,但唯一索引被丢到数据表空间了;二是指定索引表空间,很明显,Oracle不会让你创建的,因为唯一索引已经存在,当然你也可以把主键约束的名字起得跟已存在的唯一索引的名字不一样的,但那样也不是我们想要的结果,因为老唯一索引必须要删掉。我们先看第二种情况:

复制代码
SQL> alter table T_INVITEE_RECORD_TEST add constraint PK_T_INVITEE_RECORD_TEST PRIMARY KEY (INVITEEMSISDN, INVITERMSISDN, ACTIVITYID,ACCEPTINVITETIME) using index tablespace TBS_VCODE_IDX;

alter table T_INVITEE_RECORD_TEST add constraint PK_T_INVITEE_RECORD_TEST PRIMARY KEY (INVITEEMSISDN, INVITERMSISDN, ACTIVITYID,ACCEPTINVITETIME) using index tablespace TBS_VCODE_IDX

ORA-00955: 名称已由现有对象使用

SQL> alter table T_INVITEE_RECORD_TEST add constraint SYS_C00133333 PRIMARY KEY (INVITEEMSISDN, INVITERMSISDN, ACTIVITYID,ACCEPTINVITETIME) using index tablespace TBS_VCODE_IDX;

Table altered
复制代码

我们的目的是修改唯一索引,新增一个ACCEPTINVITETIME字段,现在老的唯一索引仍存在,会导致我们新索引失效,不同的ACCEPTINVITETIME值仍无法插入。我们先删掉主键约束,再来看第一种情况:

复制代码
SQL> alter table T_INVITEE_RECORD_TEST drop constraint SYS_C00133333;

Table altered

SQL> alter table T_INVITEE_RECORD_TEST add constraint SYS_C00133333 PRIMARY KEY (INVITEEMSISDN, INVITERMSISDN, ACTIVITYID,ACCEPTINVITETIME);

Table altered
复制代码

我们看到唯一索引建到数据表空间去了,作为一个专业人士,这是很不专业的。那么怎么解决掉老唯一索引呢?很简单,drop掉,你可以直接用

drop index PK_T_INVITEE_RECORD_TEST;
  但更简单的是使用级联:

alter table T_INVITEE_RECORD_TEST drop constraint SYS_C00133333 cascade drop index;
  下面给出专业的更新和回滚语句:

新增联合主键字段ACCEPTINVITETIME

alter table T_INVITEE_RECORD_TEST drop primary key cascade drop index;
alter table T_INVITEE_RECORD_TEST modify ACCEPTINVITETIME not null;
comment on column T_INVITEE_RECORD_TEST.ACCEPTINVITETIME is ‘接受邀请时间(联合主键)’;
alter table T_INVITEE_RECORD_TEST add constraint PK_T_INVITEE_RECORD_TEST PRIMARY KEY (INVITEEMSISDN, INVITERMSISDN, ACTIVITYID,ACCEPTINVITETIME) using index tablespace TBS_VCODE_IDX;
  回滚:

alter table T_INVITEE_RECORD_TEST drop constraint PK_T_INVITEE_RECORD_TEST;
alter table T_INVITEE_RECORD_TEST add constraint PK_T_INVITEE_RECORD_TEST PRIMARY KEY (INVITEEMSISDN, INVITERMSISDN, ACTIVITYID) using index tablespace TBS_VCODE_IDX;
alter table T_INVITEE_RECORD_TEST modify ACCEPTINVITETIME null;
comment on column T_INVITEE_RECORD_TEST.ACCEPTINVITETIME is ‘接受邀请时间’;

SQLite全文搜索FTS5实战:从倒排索引到中文分词应用 全文搜索是现代信息检索的核心技术,它通过倒排索引机制,将文档内容转换为可快速检索的词项索引,从而实现对海量文本数据的高效查询。其技术原理基于分词器将文本拆分为词元,并构建从词项到文档的映射关系,这使得搜索性能相比传统的LIKE查询有数量级的提升。在工程实践中,全文搜索技术为文档管理、日志分析、内容检索等场景提供了关键支持。SQLite内置的FTS(Full-Text Search)模块正是这一技术的轻量级实现,它通过FTS3、FTS4到FTS5的版本演进,逐步增强了索引压缩、排名算法和查询语法等功能。其中, 阅读详情

相关推荐

数据库基础与实战:从概念到优化全解析

数据库作为数据管理的核心技术,其核心原理是通过表结构实现数据的结构化存储与高效检索。关系型数据库基于ACID事务特性确保数据一致性,而非关系型数据库则通过灵活的数据模型满足特定场景需求。在实际工程中,合理的数据库选型(如MySQL、PostgreSQL或MongoDB)与索引优化能显著提升系统性能,而规范化设计与反规范化策略的平衡则是解决复杂查询效率问题的关键。通过主键设计、连接查询优化等SQL技巧,开发者可以构建高性能应用。随着云计算发展,云数据库服务如AWS RDS和分布式数据库技术正成为技术新趋势。

weixin_34248705的博客 316

Oracle 怎么将索引类型unique 改成Normal

在 Oracle 中,可以使用以下语句将索引的类型从 unique 改为 normal: ALTER INDEX index_name MODIFY UNIQUE; 其中,index_name 是要修改的索引的名称。 注意,在执行此语句时,需要保证索引中不存在重复值。如果索引中有重复值,则可能会出现错误。 示例: ALTER INDEX emp_name MODIFY UNIQUE; 在这个示...

weixin_35749440的博客 2633

SL/T 324-2019水文数据库表结构解析:从标识符设计到实际应用

本文深入解析SL/T 324-2019水文数据库表结构标准,从标识符的设计哲学与构成逻辑出发,探讨了如何将标准应用于实际数据库(如MySQL)的构建与优化。文章详细阐述了核心表结构、物理实现策略(如索引与分区),并提供了构建可持续水文数据平台的架构思路,旨在帮助专业人士构建既规范又具扩展性的水文数据核心。

f0g1h2的博客 1095

【Oracle笔记】索引的建立、修改、删除

一、概念和作用 在oracle索引是一种供服务器在表中快速查找一个行的数据库结构。合理使用索引能够大大提高数据库的运行效率。

程序员云帆哥的博客 2万+

人类肠道微生物群落代谢建模

MICOMWeb 是款用户友好型网站,专为人类肠道微生物群落代谢建模设计。该网站旨在解决基因组尺度代谢模型(in silico)构建过程中的3大限制:① 使用 MICOM Python 包进行通量平衡分析时对用户 Python 编程知识的要求;② 支持预定义和用户自定义饮食,以生成专属代谢模型;③ 处理宏基因组鸟枪法测序或 16S 扩增子测序获得的真实丰度数据时,所需的高通量计算基础设施。本文展示了 MICOMWeb 的核心功能,用户可轻松开展虚拟实验,为3个已发表数据集的实验验证生成功能性假设。

多组・学・多组学 1169

13 万字 C 语言从入门到精通保姆级教程2021 年版

13 万字C语言保姆级教程,从入门到精通。

李南江 61万+

oracle怎么修改主键索引,oracle的常用sql 表的新增,修改,唯一,索引,主键,备注...

1.创建表create table APP21(id VARCHAR2(20) not null,aae036 DATE,nums NUMBER(14),sjzt VARCHAR2(6) default '0' not null,time DATE default sysdate not null)2.分配表空间tablespace DA...

weixin_32309649的博客 637

华为私有云HCS 8.1.1实战:从镜像制作到云主机发放全流程指南

本文详细解析了华为私有云HCS 8.1.1从镜像制作到云主机发放的全流程实战指南。内容涵盖制作标准化QCOW2镜像、配置云主机规格与主机组、规划外部网络,以及在运营面为租户初始化资源、配置审批流与产品目录。最后,通过用户视角演示了从创建VPC网络到申请、审批并最终绑定EIP访问云主机的完整操作步骤,为运维人员和架构师提供了一套清晰、可落地的HCS部署与管理实践方案。

weixin_29305313的博客 1128

mysql唯一变非唯一_mysql 5.0索引 – 唯一vs非唯一

UNIQUE和PRIMARY KEY是约束,而不是索引。虽然大多数数据库通过使用索引来实现这些约束。除了索引之外,约束的额外开销是微不足道的,尤其是当您计算跟踪和修正无意的重复的成本时,(当它们发生时)。如果你有高选择性,索引通常更有效。这是不同值的数量与总行数的比率。例如,在社会安全号码列中,您可能有100万行包含100万个不同的值。所以选择性是1000000/1000000 = 1.0(虽然有...

weixin_31201555的博客 494

从Si3N4到SiNx:一文搞懂芯片制造中氮化硅的化学式玄机(附工艺参数影响)

本文深入探讨了芯片制造中氮化硅(SiNx)化学式的调控艺术,揭示了从Si3N4到SiNx的转变如何影响材料性能。通过分析PECVD和PVD工艺参数对x值的精确调控,以及x值对电学和机械性能的影响,为半导体制造提供了实用的工艺优化策略。

weixin_30776273的博客 192

物联网通信中NB-IoT、Cat.1、LTE-M该如何选择?

首先我们要确定我们产品的关键需求,例如:我们的设备是否对数据传输速率有较高的要求,有较高要求我们就需要选择较高传输速率的Cat.1来开发我们的产品。同时关于产品性能方面,我们对功耗、延迟、可靠性也会有所要求,例如我们的产品为移动端产品,不方便布线以及安装电源,那我们就会采用电池供电的方式,所以在选择时可以优先考虑低功耗产品,最终结合其他需求选择出合适的协议。首先,我们需求的产品是不同的,我们需要根据产品需求或项目需求来进行选择,NB-IoT、Cat.1、Cat.M都有属于自己的优势。

a1809032425的博客 1216

MySQL 索引设计-唯一索引与普通索引

综上,普通索引的性能还是比uk还是要好一些的,但也并不绝对,而且前面讨论的大前提是「业务代码已经保证不会写入重复数据」,如果业务不能保证,或者业务就是要求数据库来做约束,那么没得选,必须创建uk。...

小生的博客 1081

华为OD机试双机位C卷-热点网站统计 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 热点网站统计,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。 华为od机考真题 - 热点网站统计。

qq_45776114的博客 779

MySQL B+树索引深度解析:三层结构如何支撑千万级数据存储

在数据库索引设计中,B+树是一种广泛应用于磁盘存储系统的平衡多路查找树。其核心原理在于利用多阶分支结构,将数据有序组织在连续的磁盘页中,从而大幅减少查询时的磁盘IO次数。从技术价值看,B+树通过“矮胖”的树形结构,实现了在极低树高(通常3-4层)下存储海量数据的能力,特别适合范围查询和顺序访问。在应用场景上,MySQL的InnoDB引擎默认采用B+树作为索引结构,其性能直接关系到**数据库查询效率**和**单表数据容量**。本文聚焦于B+树在InnoDB中的具体实现,通过分析**16KB页大小**、主键类型

weixin_33769125的博客 319

通信算法之283:大疆DJI云哨系统-DJI DroneID物理层协议-解速率匹配及Turbo译码

3. 完整云哨接收机,接收灵敏度。交流: 1279682290 ,2. Turbo译码模块。1. 解速率匹配模块。

leegang12的专栏 868

MoveIt 运动学、运动规划、混合规划、move_group

混合规划是运动规划方法的一个术语,它将异构运动规划器结合起来,以产生更稳健或反应更快的解决方案。这种通用方法在导航领域已经非常成熟,并在导航2等流行项目中成功实施。MoveIt 的混合规划架构结合了一对全局规划器和局部规划器,它们以不同的规划速度和问题范围并行、并发运行。全局规划器的任务是解决全局运动规划问题,这与 “感知-规划-行动 ”应用中使用的规划器非常相似。所使用的规划器算法应该是完整的,因此假定其计算时间相对较慢。此外,全局规划器不要求实时安全,这意味着无法保证规划器在特定期限内找到解决方案。

机器人控制与仿真应用 2131

MySQL第二讲

学习MySQL的总结

einstein618的专栏 179

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Slater:在SQLite中集成BM25与Graphiti,实现轻量级专业搜索

全文检索是处理海量文本数据、提升应用搜索体验的核心技术。其原理在于通过分词、建立倒排索引,将非结构化的文本转化为可快速查询的结构。BM25作为当前最先进的相关性排序算法,在传统TF-IDF基础上引入了文档长度归一化和词频饱和机制,能更精准地模拟人类对相关性的判断,从而显著提升搜索结果的质量。这项技术的价值在于,它让数据库层面的文本搜索具备了接近专业搜索引擎的智能排序能力,广泛应用于知识库、产品文档、内容社区等需要高效信息检索的场景。本文聚焦的Slater项目,正是通过将BM25算法与声明式查询语言Graph

weixin_30411819的博客 334

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

java持久化生成主键_为什么我们不用数据库生成 ID?

先介绍一下背景????团队正在一个为 SQL Server 构建数据目录项目的历程中,我们优化系统以实现解耦。这对我们来说非常重要,从根本上来说,我归结为两个核心原则,希望每个软件专业人员都能认同:我们不希望系统复杂度随功能的增加而线性增长,这样会大大拖慢我们在业务发展速度以及对于价值的信心。我们希望能够优先从客户需求、访问性能、查询模式、业务变化等方面考虑,能够适应不断发展的需求和需要。换句话...

weixin_39797758的博客 181

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

慢查询如何优化?(实战慢查询)

windows中是 my.ini 文件 linux和MacOs中是 my.cnf 文件 开启慢查询日志 5.5以上版本 直接分析慢查询日志, mysql使用 + sql语句进行模拟优化器来执行分析。 oracle使用 + sql语句进行模拟优化器来执行分析。table | type | possible_keys | key |key_len | ref | rows | Extra EXPLAIN列的解释: table 显示这一行的数据是关于哪张表的 type

jj89929665的博客 8665

MySQL中 replace与replace into的区别与使用方法(干货分享)

Mysql replace与replace into都是经常会用到的功能;replace其实是做了一次update操作,而不是先delete再insert;而replace into其实与insert into很相像,但对于replace into,假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。 replace是mysql 里面处理字符串比较常用的函数,可以替换字符串中的内容。类似的处理字符串的还有trim截取操作,这里

Hsuesh的博客 437

数据挖掘面试题准备

2019.5.21 你理解什么是数据挖掘? 数据挖掘就是由数据准备,数据挖掘和对结果的解释评估三部分组成。数据准备包括数据选取,数据预处理和数据变化。数据挖掘部分包括确定挖掘的任务或目的,选择挖掘算法。最后将结果可视化或者转化为易于理解的形式。 为什么会产生过拟合,有哪些方法可以预防或克服过拟合?(常问问题) 所谓过拟合(Overfit),是这样一种现象:一个假设在训练数据上能够获得比其他假设更...

Lygjhr的博客 2542

一周碎碎念,2021.7.11,主从延迟、慢SQL优化、Ansible、Docker等

叨叨最近遇到的一些事以及见闻、思考吧。1. 主从延迟帮忙处理了个主从延迟的问题,经过诊断,大致定位原因有几个:频繁跑批产生的大事务,一个事务更新/插入数万条记录。这些大事务在从库apply...

老叶茶馆 540

mysql-01

数据模型--->关系型数据库(概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库.而所谓二维表,指的是由行和列组成的表,就类似于Excel表格数据,有表头、有列、有行, 还可以通过一列关联另外一个表格中的某一列数据.简单说,基于二维表存储 数据的数据库就成为关系型数据库,不是基于二维表存储数据的数据库,就是非关系型数据库。) SQL--->结构化查询语言。操作关系型数据库的编程语言,定义了 一套操作关系型数据库统一标准 注释: 单行注释:-- 注释内容 或 # 注释内容 多行注释

idpangpengcheng的博客 2511

向量数据库与FAISS索引:RAG系统高效检索的核心原理与实战选型指南

在构建检索增强生成(RAG)系统时,高效、准确的向量相似度搜索是核心挑战。其技术基础在于Embedding模型,它能将文本、图像等非结构化数据转化为高维向量,使语义相近的内容在向量空间中距离更近。为了实现海量向量数据的快速检索,索引技术应运而生,它通过量化、空间分割等方法,在精度与速度间取得平衡,从而支撑起RAG系统的实时响应能力。Meta开源的FAISS库提供了丰富的索引算法实现,是处理单机向量搜索的利器;而Milvus、Qdrant等向量数据库则提供了包括数据持久化、元数据过滤和分布式扩展在内的完整解决

weixin_33898876的博客 349

sqlserver自动生成编号_为什么我们不用数据库生成 ID?

先介绍一下背景?团队正在一个为 SQL Server 构建数据目录项目的历程中,我们优化系统以实现解耦。这对我们来说非常重要,从根本上来说,我归结为两个核心原则,希望每个软件专业人员都能认同:我们不希望系统复杂度随功能的增加而线性增长,这样会大大拖慢我们在业务发展速度以及对于价值的信心。我们希望能够优先从客户需求、访问性能、查询模式、业务变化等方面考虑,能够适应不断发展的需求和需要。换...

weixin_33428613的博客 1988
上一篇: oracle查找某个字符在字符串中的个数的技巧
下一篇: datetime列是否有必要建索引
xiaoxin_su
博客等级 码龄8年 0粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值