達夢數據庫飛騰2000+單表插入性能測試

達夢數據庫飛騰2000+單表插入性能測試

CREATE TABLE t_data_metric_20200316
(
   c_inst_id INT NOT NULL ,
   c_sub_inst_id INT NOT NULL ,
   c_task_time INT NOT NULL ,
   c_insert_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
   c_metric_id VARCHAR(36) NOT NULL  ,
   c_data_value DECIMAL(20,2) DEFAULT NULL ,
   c_metric_status VARCHAR(20) DEFAULT NULL ,
   c_error_msg VARCHAR(50) DEFAULT NULL ,
   c_data_value_adjust decimal(20,2) DEFAULT NULL ,
   c_data_value_expect decimal(20,2) DEFAULT NULL 
   );
   
   create index idx_backup_data_metric on t_data_metric_20200316(c_inst_id,c_sub_inst_id,c_task_time,c_metric_id);
   CREATE INDEX idx_data_metric_sub ON t_data_metric_20200316 (c_sub_inst_id,c_metric_id,c_task_time);
   CREATE INDEX idx_data_metric_time ON t_data_metric_20200316 (c_task_time);
   

declare
begin
  for i in 1..20000000 loop
     INSERT INTO T_DATA_METRIC_20200316
       (C_INST_ID, C_SUB_INST_ID, C_TASK_TIME, C_INSERT_TIME, C_METRIC_ID, C_DATA_VALUE, C_METRIC_STATUS, C_ERROR_MSG, C_DATA_VALUE_ADJUST, C_DATA_VALUE_EXPECT)
        VALUES(1000+i, 1000+i,1584323799+i , CURRENT_TIMESTAMP, 'test001', 9999.99, 'GREEN', 'test_err', 0, 0);
     if mod(i,2000)=0 then
      commit;
     end if;
  end loop;
end;   



總共1個語句正依次執行...

[執行語句1]:
declare
begin
  for i in 1..20000000 loop
     INSERT INTO T_DATA_METRIC_20200316
       (C_INST_ID, C_SUB_INST_ID, C_TASK_TIME, C_INSERT_TIME, C_METRIC_ID, C_DATA_VALUE, C_METRIC_STATUS, C_ERROR_MSG, C_DATA_VALUE_ADJUST, C_DATA_VALUE_EXPECT)
        VALUES(1000+i, 1000+i,1584323799+i , CURRENT_TIMESTAMP, 'test001', 9999.99, 'GREEN', 'test_err', 0, 0);
     if mod(i,2000)=0 then
      commit;
     end if;
  end loop;
end;
執行成功, 執行耗時18分 48秒 519毫秒. 執行號:45
影響了1條記錄

1條語句執行成功
 

 

總共1個語句正依次執行...

[執行語句1]:
declare
begin
  for i in 1..2000000 loop
     INSERT INTO T_DATA_METRIC_20200316
       (C_INST_ID, C_SUB_INST_ID, C_TASK_TIME, C_INSERT_TIME, C_METRIC_ID, C_DATA_VALUE, C_METRIC_STATUS, C_ERROR_MSG, C_DATA_VALUE_ADJUST, C_DATA_VALUE_EXPECT)
        VALUES(1000+i, 1000+i,1584323799+i , CURRENT_TIMESTAMP, 'test001', 9999.99, 'GREEN', 'test_err', 0, 0);
     if mod(i,2000)=0 then
      commit;
     end if;
  end loop;
end;
執行成功, 執行耗時1分 26秒 24毫秒. 執行號:11
影響了1條記錄

1條語句執行成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章