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

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業(yè)務(wù)造成影響,請務(wù)必仔細閱讀。

AnalyticDB for MySQL提供結(jié)果集緩存來減少不必要的計算,達到降低負載,加速查詢的目的。本文介紹AnalyticDB for MySQL結(jié)果集緩存的限制和使用方式。

前提條件

AnalyticDB for MySQL集群的內(nèi)核版本為3.2.0及以上版本。

說明 如何查看集群內(nèi)核版本,請參見如何查看實例版本信息。如需升級內(nèi)核版本,請聯(lián)系技術(shù)支持。

功能說明

結(jié)果集緩存是指在AnalyticDB for MySQL接入層的本地存儲空間中對首次查詢的結(jié)果進行緩存,等再次提交相同的查詢時,如果查詢關(guān)聯(lián)的庫表數(shù)據(jù)沒有更新,則從緩存的結(jié)果集中查詢結(jié)果并反饋至客戶端,不再重新計算。

適用場景

  • 數(shù)據(jù)寫入時段固定或集中。大部分時間數(shù)據(jù)保持不變, 無更新或?qū)懭搿?/p>

  • 查詢存在一定重復(fù)率,即在一段時間內(nèi)請求端發(fā)起多次相同查詢。

注意事項

由于當前多主架構(gòu)設(shè)計的限制,底層庫表數(shù)據(jù)發(fā)生更新后,數(shù)據(jù)更新需要經(jīng)過存儲層同步到接入層,并在接入層內(nèi)部節(jié)點間同步。因此數(shù)據(jù)更新信息的傳遞會有最多10秒的延遲, 導致結(jié)果集緩存不能保證強一致性, 但可以保證最終一致性, 即在數(shù)據(jù)更新10秒后, 相關(guān)緩存必定被淘汰, 再次緩存就是最新數(shù)據(jù)。

使用限制

滿足以下所有條件的查詢才能使用結(jié)果集緩存。

  • 本次的查詢語句在語法層面與之前被緩存的查詢語句完全一致。

  • 查詢關(guān)聯(lián)的表數(shù)據(jù)未發(fā)生過新增、刪除或更新等變更。

  • 查詢未使用非確定性函數(shù)(Non-Deterministic Function),如NOW,CURRENT_TIMESTAMP等。

  • 查詢未使用外部數(shù)據(jù)源及內(nèi)部系統(tǒng)表。

  • 查詢使用的表在黑白名單準入限制開啟時符合對應(yīng)的準入限制。

  • 查詢結(jié)果集大小未超過數(shù)據(jù)量的閾值(默認最多緩存10000行,超過設(shè)置的閾值,查詢結(jié)果集會在生成過程中被撤銷)。

開啟結(jié)果集緩存

開啟結(jié)果集緩存有以下兩種方式:

  • 通過Hint指定某一查詢開啟結(jié)果集緩存。

    /*+result_cache=true*/ SELECT * FROM tpcds.catalog_returns WHERE cr_item_sk < 100;
  • 通過修改集群級別配置項, 指定所有查詢開啟結(jié)果集緩存。

    SET ADB_CONFIG RESULT_CACHE_APPLY_ALL=true;
    警告

    開啟集群級別會對所有請求嘗試緩存結(jié)果集,在高并發(fā)場景下會增加負載。建議集群級別開啟后, 再配置黑白名單準入限制來降低額外的緩存開銷。詳情請參見配置黑白名單準入限制

黑白名單準入限制

在集群級別開啟結(jié)果集緩存會對所有查詢生效,會增加較多額外負載,而指定單個查詢開啟的方式又過于精細,會引入較多人為修改的成本。建議在集群級別開啟結(jié)果集緩存時,通過黑白名單準入限制定義哪些表的查詢使用結(jié)果集緩存。

SET ADB_CONFIG RESULT_CACHE_LIST_CONSTRAINT_MODE=[whitelist | blacklist | disable];

參數(shù)說明:

  • disable(默認值):不使用黑白名單準入限制。

  • whitelist:使用白名單準入限制。

  • blacklist:使用黑名單準入限制。

當開啟黑白名單準入限制時,可以調(diào)整表級別的緩存屬性RESULT_CACHE來實現(xiàn)不同的緩存準入限制。

ALTER TABLE <table_name> RESULT_CACHE=[default | enable | disable];
  • 當未開啟黑名單或白名單準入限制時,則表緩存屬性RESULT_CACHE無意義。符合使用限制的所有查詢均可使用結(jié)果集緩存。

  • 當開啟黑名單準入限制時,表緩存屬性名RESULT_CACHE設(shè)置為default或enable,包含該表的查詢均允許使用結(jié)果集緩存。而值為disable時,包含該表的查詢均不允許使用結(jié)果集緩存。

  • 當開啟白名單準入限制時,只有表緩存屬性名RESULT_CACHE為enable,包含該表的查詢才允許使用結(jié)果集緩存。而值為default或disable時,包含該表的查詢均不允許使用結(jié)果集緩存。

您可以執(zhí)行以下SQL語句查看配置了黑白名單準入的表。

SELECT * FROM INFORMATION_SCHEMA.RESULT_CACHE_LIST_CONSTRAINT;

結(jié)果集緩存大小限制

結(jié)果集緩存的數(shù)據(jù)量受到行數(shù)RESULT_CACHE_MAX_ROW_COUNT的限制。若行數(shù)超過閾值,結(jié)果集將緩存失敗。

配置結(jié)果集緩存的行數(shù)閾值。默認值為10000。

SET ADB_CONFIG RESULT_CACHE_MAX_ROW_COUNT = 10000;

查看所有結(jié)果集緩存

您可以執(zhí)行以下SQL語句查看所有的結(jié)果集緩存數(shù)據(jù)。

SELECT * FROM INFORMATION_SCHEMA.RESULT_CACHE_STATUS;

結(jié)果集緩存淘汰策略

結(jié)果集緩存不需要您手動管理,AnalyticDB for MySQL會根據(jù)淘汰策略自動刪除過期的結(jié)果集緩存。AnalyticDB for MySQL支持兩種淘汰策略,超時淘汰和最大緩存數(shù)淘汰。滿足任意一種淘汰策略,緩存就會被刪除。

  • 超時淘汰策略指超時未被訪問的結(jié)果集緩存會被自動刪除。超過時間由RESULT_CACHE_EXPIRATION_TIME指定。默認值為86400,單位為秒(s)。

    配置超時淘汰策略。

    SET ADB_CONFIG RESULT_CACHE_EXPIRATION_TIME = 86400;
  • 最大緩存數(shù)淘汰策略指在單個接入節(jié)點內(nèi)超過最大緩存數(shù),最久未被訪問的緩存會被自動刪除。單個接入節(jié)點最大緩存數(shù)由RESULT_CACHE_MAX_CACHE_COUNT指定。默認值為100。

    配置最大緩存數(shù)淘汰策略。

    SET ADB_CONFIG RESULT_CACHE_MAX_CACHE_COUNT = 100;