日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

PolarDB新增DDL預讀功能。數據庫中大表的DDL操作通常非常耗時,您可以通過DDL預讀功能縮短執行DDL操作的時間。

前提條件

PolarDB集群版本需滿足如下條件之一:

  • PolarDB MySQL版8.0版本且修訂版本為8.0.1.1.28及以上。

  • PolarDB MySQL版5.7版本且修訂版本為5.7.1.0.22及以上。

  • PolarDB MySQL版5.6版本且修訂版本為5.6.1.0.34及以上。

如何確認集群版本,詳情請參見查詢版本號

注意事項

開啟DDL預讀功能后,由于預讀線程的存在,IO資源的占用也會隨之增加,可能會影響同一時間內正在執行的其他SQL操作,因此建議在業務低峰期使用DDL預讀功能。

使用方法

  • loose_innodb_polar_ddl_build_index_readahead

    您可以通過如下loose_innodb_polar_ddl_build_index_readahead參數開啟DDL預讀功能:

    參數

    級別

    說明

    loose_innodb_polar_ddl_build_index_readahead

    Global

    DDL預讀功能的開關,取值范圍如下:

    • ON:開啟DDL預讀功能。

    • OFF:關閉DDL預讀功能(默認值)。

  • loose_innodb_polar_ddl_build_index_readahead_page_num

    您還可以通過如下loose_innodb_polar_ddl_build_index_readahead_page_num參數設置DDL預讀的數據量:

    參數

    級別

    說明

    loose_innodb_polar_ddl_build_index_readahead_page_num

    Global

    DDL預讀的page數量,一個page大小是16k。取值范圍:32~256。默認值為64。

性能測試

  • 測試環境

    • 一個規格為8核32 GB的PolarDB MySQL版8.0版本的集群。

    • 集群存儲空間為50 TB。

  • 測試表結構

    通過如下語句創建一張名為table_1的表:

    CREATE TABLE `table_1` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `seller_id` bigint(20) DEFAULT NULL,
    `seller_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
    `gmt_create` varchar(30) DEFAULT NULL,
    `update_time` varchar(30) DEFAULT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB;
  • 測試表數據

    通過如下語句生成測試數據:

    delimiter ||
    CREATE PROCEDURE populate_0(IN NUM INT)
    BEGIN
    DECLARE sid INT;
    DECLARE suffix_name INT;
    DECLARE i INT;
    SET sid=1000;
    SET suffix_name=10;
    SET i=1;
    START TRANSACTION;
    WHILE i <= NUM
    DO
    INSERT INTO table_1(seller_id,seller_name,gmt_create,update_time) VALUES(sid,CONCAT('sellername',suffix_name),NOW(),NOW());
    SET suffix_name=suffix_name+1;
    SET sid=sid+1;
    SET i=i+1;
    END WHILE;
    COMMIT;
    END ||
    delimiter ;
    CALL populate_0(100000000) ;
  • 測試方法及結果

    數據插入完成以后,需要重啟PolarDB進程,保證內存buffer_pool中沒有緩存數據。通過對比是否開啟DDL預讀功能,來測試DDL執行效率的提升比例。

    • 通過執行SQLalter table table_1 add index name_index (seller_name);來進行DDL執行效率的對比:

      DDL預讀功能開啟情況

      耗時(秒)

      關閉DDL預讀功能

      485

      開啟DDL預讀功能

      (loose_innodb_polar_ddl_build_index_readahead_page_num為256)

      412

    • 通過執行SQLalter table table_1 add column c1 varchar(100) after id;來進行DDL執行效率的對比:

      DDL預讀功能開啟情況

      耗時(秒)

      關閉DDL預讀功能

      264

      開啟DDL預讀功能

      (loose_innodb_polar_ddl_build_index_readahead_page_num為256)

      159

聯系我們

若您對DDL操作有任何疑問,可通過釘釘搜索群號入群咨詢。您可以直接@群內專家,并附上您要咨詢的問題;同時群內也有PolarDB MySQL版小助手24*7小時在線回答您的問題。釘釘群號:15375044501。