給一張已有一千六百萬數據的大表添加一個字段需要多長時間?0.04秒 給新增字段設值則需要16分鍾,更新一百萬條約需一分鍾。


首先看看這表里數據量:

SQL> select count(*) from tb_qianwan_final;

  COUNT(*)
----------
  16000000

然后是添加一個備注字段:

SQL> alter table tb_qianwan_final add remark nvarchar2(60);

表已更改。

已用時間:  00: 00: 00.04

超越想象吧,就0.04秒,和改變一個字段的名稱用時差不多。

再看看加完的效果:

SQL> desc tb_qianwan_final;
 名稱                                      是否為空? 類型
 ----------------------------------------- -------- ----------------------------
 ID                                        NOT NULL NUMBER(9)
 NAME                                               NVARCHAR2(20)
 SALARY                                             NUMBER(6)
 REMARK                                             NVARCHAR2(60)

之后給remark設值看耗時多少?估計要十多分鍾。

SQL> update tb_qianwan_final set remark=rownum;

已更新16000000行。

已用時間:  00: 16: 00.60
SQL> commit;

提交完成。

已用時間:  00: 00: 00.01

果不其然,要問我怎么知道了,因為之前做過。

我的環境:

# 類別 版本
1 操作系統 Win10
2 數據庫 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
3 硬件環境 T440p
4 內存 8G

如果想知道這一千六百萬數據怎么來的,請參考:

https://www.cnblogs.com/xiandedanteng/p/12316854.html

--2020年2月17日--

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM