看到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.刪除普通索引
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-217131/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何在ORACLE中修改表的約束條件啊Oracle
- 面試題,大家也可以看看(piner)面試題
- MySQL自增約束MySql
- MySQL——表的約束,資料型別,增刪查改MySql資料型別
- 常見問題--表的約束initially immediate 理解
- 查詢emp表上的所有約束的詳細資訊
- 在puber上看到的幾道面試題列舉如下:面試題
- PHP7型別約束PHP型別
- 【SQL】15 SQL 約束(Constraints)、NOT NULL 約束、UNIQUE 約束、PRIMARY KEY 約束、FOREIGN KEY 約束、CHECK 約束、DEFAULT約束SQLAINull
- 5_MySQL 表的欄位約束MySql
- 查詢oracle表的資訊(表,欄位,約束,索引)Oracle索引
- 線上重定義拷貝表結構的NOT NULL約束問題Null
- SQLite語句(一):表的操作和約束SQLite
- 啟用約束時使用exceptions表來跟蹤不符合約束的資料並修正Exception
- Javaweb-約束-外來鍵約束JavaWeb
- 無順序約束的字串匹配問題字串匹配
- 生成指令碼,得到所有表的外來鍵約束,然後刪除並重建這些約束指令碼
- Oracle定義約束 外來鍵約束Oracle
- oracle中的約束Oracle
- SQL Server 資料表程式碼建立約束SQLServer
- JavaScript------表單約束驗證DOM方法JavaScript
- oracle 表遷移方法 (二) 約束不失效Oracle
- SQL約束SQL
- Oracle約束Oracle
- oracle 約束Oracle
- MySQL 約束MySql
- 03約束
- 綜合約束
- 面試題預習(1-24)面試題
- (10)邏輯綜合新增約束(環境約束)
- 看到說面試阿里的問題,回憶回憶呀面試阿里
- 泛型的約束理解泛型
- REST 的 6 個約束REST
- oracle的延遲約束Oracle
- .NET面試題系列(24)值型別總是分配在棧上嗎?面試題型別
- 約束介紹
- 差分約束
- 面試你之前,我希望在簡歷上看到這些!面試