看到piner的面试题:如何在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.删除普通索引

 

 

 

 

请使用浏览器的分享功能分享到微信等