面试题:如何在7*24业务上增加大表约束
面试题:
如何在7*24业务上增加大表约束
题目如下:
在一个24*7的应用上,需要把一个访问量很大的1000万以上数据级别的表的普通索引(a,b)修改成唯一约束(a,b,c),你一般会选择怎么做,请说出具体的操作步骤与语句。
第一种方法:
1. create unique index idx_test on test (a,b,c) online; 联机在线创建方法 不会阻塞dml
2. 再删除普通索引
第二种方法:
1、创建普通索引代码:
create index index_name on table_name (field_name) online;
2、采用不校验以前数据的方式创建约束代码:
alter table table_name
add constraint constraint_name primary key (field_name)
using index index_name novalidate;
3、合并检查以前的数据代码:
alter table table_name modify constraint constraint_name validate;
---这里主要是针对以前的记录 4.删除普通索引