最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

SQL 執(zhí)行計劃管理(SPM)

2023-07-31 16:39 作者:KaiwuDB  | 我要投稿

一、SPM 需求背景

任何數(shù)據(jù)庫應用程序的性能在很大程度上都依賴于查詢執(zhí)行,盡管優(yōu)化器無需用戶干預就可以評估最佳計劃,但是 SQL 語句的執(zhí)行計劃仍可能由于以下多種原因發(fā)生意外更改:版本升級、重新收集優(yōu)化器統(tǒng)計信息、改變優(yōu)化器參數(shù)或模式/元數(shù)據(jù)定義。由于無法保證計劃始終向更好的情況改變,如果在環(huán)境變化時能夠維持當前執(zhí)行計劃不變,或者只向更好的情況改變,將是最理想的解決方案。

?

二、SPM 重要構成

SQL 計劃管理 (SPM) 確保運行時性能永遠不會因為執(zhí)行計劃的更改而降低。因此,SQL 語句執(zhí)行時只使用已接受(受信任)的執(zhí)行計劃;跟蹤任何計劃發(fā)展并隨后對其進行評估,如果新計劃未造成運行時性能改變或運行時性能提高,則接受新計劃為經(jīng)驗證的計劃。

SQL 計劃管理由三部分組成:SQL 計劃基準捕獲,SQL 計劃基準選擇,SQL 計劃基準發(fā)展。

1. SQL 計劃基準捕獲

創(chuàng)建 SQL 計劃基準,包含所有 SQL 語句的受信任的執(zhí)行計劃(ACCETPED=YES)。

(1)如何創(chuàng)建 SQL 計劃基準

包含兩種方式:

  • 自動捕獲執(zhí)行計劃

  • 批量加載執(zhí)行計劃,包含四種技術

i 針對給定的 SQL 調(diào)優(yōu)集(STS)加載執(zhí)行計劃

ii 從存儲大綱加載執(zhí)行計劃

iii 使用游標緩存中目前的執(zhí)行計劃

iv?從臨時表解壓縮現(xiàn)有的 SQL 計劃基準

(2)如何查看 SQL 計劃基準

2. SQL 計劃基準選擇

(1)執(zhí)行計劃的三個屬性

  • ENABLED - 表示計劃已啟用,可供優(yōu)化器使用,若計劃未設置未 ENABLED,則優(yōu)化器不考慮此計劃。

  • ACCEPTED - 表示該計劃已被驗證為有效計劃,若計劃未驗證為 ACCEPTED,則優(yōu)化器不考慮此計劃。

  • FIXED -?固定計劃,表示優(yōu)化器只會考慮標記為?FIXED?的執(zhí)行計劃,且從中選擇?cost?最低的固定計劃。

(2)如何選擇 SQL 計劃

** 注意這里每次重新計算 cost 的代價不大,因為執(zhí)行計劃是已知的,優(yōu)化器不必遍歷所有的可能,只需根據(jù)算法計算出已知計劃的 cost 便可。


3. SQL 計劃基準發(fā)展

(1)SQL計劃基準發(fā)展的三種選擇

  • 僅當其性能比現(xiàn)有SQL計劃基準更佳時才接受新計劃,邏輯如下圖

  • 不進行性能驗證就接受新計劃

  • 運行性能比較并生成報告,但不發(fā)展新計劃

(2)如何發(fā)展SQL計劃基準

?


1. 初始化參數(shù)

  • optimizer_capture_sql_plan_baselines - 控制可重復 SQL 語句的新 SQL 計劃基準的自動捕獲,默認設置為 FALSE

  • optimizer_use_sql_plan_baselines - 控制 SQL 計劃基準的使用,啟用后,優(yōu)化器在 SQL 計劃基準中尋找正在編譯的 SQL 語句的計劃,如果找到,優(yōu)化器會計算各個計劃的性能開銷,然后選擇開銷最低的計劃。默認設置為 TRUE

2. 管理 SQL 管理庫的空間使用

管理庫包括語句日志、計劃歷史記錄和 SQL 計劃基準。

存儲:SQL 管理庫是數(shù)據(jù)庫字典的組成部分,存儲在 SYSAUX 表空間中。SQL 管理庫默認占用不超過 SYSAUX 表空間的 10%,可設置為 1%-50%。每周檢測,若超過該限制,則會告警。

清理:每周定期清理執(zhí)行計劃,默認超過 53 周未使用的計劃都會被清理,可設置為 5-523 周。

SQL 執(zhí)行計劃管理(SPM)的評論 (共 條)

分享到微博請遵守國家法律
玉树县| 巫山县| 唐海县| 简阳市| 辉县市| 镇雄县| 本溪市| 浦城县| 博客| 辽阳市| 仙桃市| 永福县| 台北县| 杨浦区| 广平县| 松溪县| 稻城县| 科技| 木兰县| 天台县| 手游| 新巴尔虎右旗| 定陶县| 阳谷县| 梁河县| 清河县| 江都市| 营山县| 灵川县| 宁都县| 呼伦贝尔市| 阿拉尔市| 道孚县| 长春市| 仙游县| 乌什县| 济源市| 西和县| 固原市| 寿光市| 利津县|