對數據量過億的大表而言,dba最頭疼的是隨着業務變化增加帶默認值的字段,以及修改字段的數據類型,在實現不好的數據庫中,動不動執行半天,中途失敗的話,還會卡半天。這在lightdb中是不會發生的。如下所示:
lightdb@oradb=# create table t(id int,v varchar2(100)); CREATE TABLE lightdb@oradb=# insert into t select level,uuid() from dual connect by level<1000000; INSERT 0 999999 lightdb@oradb=# \timing on Timing is on. lightdb@oradb=# alter table t add c_d date not null default sysdate; ALTER TABLE Time: 23.640 ms lightdb@oradb=# select * from t limit 1; id | v | c_d ----+--------------------------------------+--------------------- 1 | 23364dc4-63e8-4017-995e-adb181a8731d | 2024-05-16 15:32:36 (1 row) Time: 1.865 ms lightdb@oradb=# alter table t add c_i number not null default 1; ALTER TABLE Time: 15.155 ms lightdb@oradb=# alter table t drop column v; ALTER TABLE Time: 3.194 ms
但是修改數據類型爲其他簇的數據類型意外,因爲他要驗證數據的有效性。如下:
lightdb@oradb=# alter table t modify c_i varchar2(10); ALTER TABLE Time: 1679.760 ms (00:01.680)