当前位置:网站首页>给已有数据的字段添加索引(达梦数据库版)
给已有数据的字段添加索引(达梦数据库版)
2022-07-16 09:27:00 【laizhenghua】
给已有数据的字段添加索引
针对已有数据的字段,有些数据库是不支持直接添加索引的,就算支持数据量比较大时候直接添加索引还是很容易引起各种各样的问题,安全系数不高。。。因此遇到这种场景,比较保守的方式就是创建一模一样的临时表,先给临时表需要添加索引的字段添加索引,再把数据插入临时表,最后把临时表重命名为原来那张表。临时表可删除或不删除,数据还能做备份。
示例(需要给TB_EXCHANGE_LOG表的DATATYPE、STATE、PRIMARYID字段添加索引):
1、导出建表语句,修改表名后执行建表语句,例如
# 我习惯在原表的后面加上 temp
CREATE TABLE LN.TB_EXCHANGE_LOG_TEMP (
ID NUMBER(38,0),
XZQHDM VARCHAR2(512),
PRIMARYID VARCHAR2(512),
DATATYPE NUMBER(38,0),
DATANAME VARCHAR2(200),
REMARK VARCHAR2(100),
STATE NUMBER(38,0),
CREATETIME TIMESTAMP,
PID VARCHAR(100),
DESTINATION VARCHAR(100)
);
2、给临时表的字段添加索引,例如
# 索引命名规范推荐 IDX1_字段名 IDX2_字段名 加上表名可避免索引名重复
CREATE INDEX IDX1_DATATYPE ON LN.TB_EXCHANGE_LOG_TEMP(DATATYPE) TABLESPACE LN;
CREATE INDEX IDX2_STATE ON LN.TB_EXCHANGE_LOG_TEMP(STATE) TABLESPACE LN;
CREATE INDEX IDX3_PRIMARYID ON LN.TB_EXCHANGE_LOG_TEMP(PRIMARYID) TABLESPACE LN;
3、将正式表的数据插入临时表,例如
INSERT INTO LN.TB_EXCHANGE_LOG_TEMP(ID, XZQHDM, PRIMARYID, DATATYPE, DATANAME, REMARK,
STATE, CREATETIME, PID, DESTINATION) SELECT ID, XZQHDM, PRIMARYID, DATATYPE, DATANAME, REMARK,
STATE, CREATETIME, PID, DESTINATION FROM LN.TB_EXCHANGE_LOG;
4、临时表与正式表记录数量对比,例如
SELECT COUNT(*) FROM LN.TB_EXCHANGE_LOG_TEMP;
SELECT COUNT(*) FROM LN.TB_EXCHANGE_LOG;
5、将临时表表名改为正式表表名
ALTER TABLE TB_EXCHANGE_LOG RENAME TO TB_EXCHANGE_LOG1;
ALTER TABLE TB_EXCHANGE_LOG_TEMP RENAME TO TB_EXCHANGE_LOG;
ALTER TABLE TB_EXCHANGE_LOG1 RENAME TO TB_EXCHANGE_LOG_TEMP;
OK,完美。
边栏推荐
- TDSQL PG版再升级,深度参与开源生态建设
- [untitled] pseudo class selector and box model
- What is the basic task of MRP
- 为健康增值,为时代赋能|仙乐健康发布年度可持续发展报告
- Talk about promise
- Learning notes - DC motor governor
- Sword finger offer 09 Implementing queues with two stacks
- CF609A USB Flash Drives
- 数据库系统原理与应用教程(019)—— MySQL 的配置文件
- logback不同的包(业务日志)输出到不同日志文件
猜你喜欢

CF514B Han Solo and Lazer Gun

query string、formData和request payload的区别

学习笔记——直流电机调速器

CompressAI:基于pytorch的图像压缩框架使用

【无标题】伪类选择器和盒模型
![[vsctf2022]web topic recurrence](/img/6f/56a9ec14ec699e427e9e21ee48c9eb.png)
[vsctf2022]web topic recurrence

剑指 Offer 10- I. 斐波那契数列(4种解法)

windows环境下升级mysql5.5.27到5.7.35

Renewable finance refi: providing technology and financial system beneficial to the earth
C language training address book (static and dynamic versions)
随机推荐
[recursion] square filling (backtracking method)
ELK集群部署(五)之部署FileBeat
Joint autoregressive and hierarchical priorities for learned image compression
465 sword finger offer (53-i, 53-ii, 04, 50)
Tutorial on the principle and application of database system (019) -- MySQL configuration file
Elk cluster deployment (IV) deployment logstash
"Detective Conan" 1049 words painting collapse, the role of frequent "face changes"
jitsi manu install(三)
华为机试:打印任务排序
C language training address book (static and dynamic versions)
剑指 Offer 10- I. 斐波那契数列(4种解法)
CF514B Han Solo and Lazer Gun
Advanced Mathematics -- Chapter 8 partial derivatives and total derivatives of implicit functions
ARTS_ 202207W1
Sqoop imports JSON format Chinese garbled code from MySQL
Web page making (II)
How to extract value from the working capital pool by using impermanent losses
数据库系统原理与应用教程(019)—— MySQL 的配置文件
Uniapp code scanning native plug-ins (Google mlkit, zxing; support scanning multiple codes at the same time)
FPGA 20 routines: 8 Reading and writing of any address of SD card