影響查詢效能的因素
影響查詢效能的因素有很多。資料、群集、資料庫操作的以下方面都會影響查詢過程的速度。
節點、處理器或切片的數量 - 乙個計算節點分為多個切片。節點越多意味著處理器和切片越多,通過跨各個切片併發執行查詢的多個部分,可加快查詢的處理速度。但是,節點越多也意味著花費越高,因此,您需要為自己的系統找到成本和效能之間的適當平衡點。有關 amazon redshift 群集架構的更多資訊,請參閱資料倉儲系統架構。
節點型別 - amazon redshift 群集可以使用密集儲存節點或密集計算節點。對於大量資料儲存需求,推薦使用密集儲存節點型別;密集計算節點型別是專為效能密集型工作負載而優化的。每個節點型別提供不同的大小和限制,以幫助您適當地擴充套件群集。節點大小決定群集中每個節點的儲存容量、記憶體、cpu 和**。有關節點型別的更多資訊,請參閱 amazon redshift 定價。
資料分配 - amazon redshift 根據表的分配方式在計算節點上儲存表資料。在執行查詢時,查詢優化程式根據執行聯接和聚合的需要將資料重新分配到計算節點。為表選擇適當的分配方式可在執行聯接前將資料放置到所需位置,這有助於儘量減少重新分配步驟產生的影響。有關更多資訊,請參閱 選擇資料分配方式。
資料排序順序 - amazon redshift 根據表的排序鍵將表資料按照排序順序儲存在磁碟中。查詢優化程式和查詢處理器利用資料放置位置的相關資訊減少需要掃瞄的資料塊數,從而提高查詢速度。有關更多資訊,請參閱 選擇排序鍵。
資料集大小 - 群集中的資料量越大,則需要掃瞄和重新分配的行數也越多,這會降低查詢效能。您可以定期對資料進行 vacuum 和存檔操作,並使用謂詞來限制查詢資料集,以減輕這一影響。
併發操作 - 同時執行多個操作會影響查詢效能。每個操作都會占用可用查詢佇列中的乙個或多個槽,並占用與這些槽關聯的記憶體。如果其他操作正在執行,則可能沒有充足的查詢佇列槽可用。在這種情況下,查詢必須等待有槽**後才能開始處理。有關建立和配置查詢佇列的更多資訊,請參閱實施工作負載管理。
查詢結構 - 查詢的編寫也會影響其效能。在滿足需求的前提下,請盡量將查詢編寫為處理和返回盡量少的資料。有關更多資訊,請參閱 查詢設計最佳實踐。
**編譯 - amazon redshift 為每個查詢執行計畫生成和編譯**。編譯**段儲存在最近最少使用 (lru) 快取中,並在群集中的會話間共享。因此,同一查詢的後續執行(即使在不同的會話中,以及在許多情況下,使用不同查詢引數時)會執行得更快,因為它們可跳過初始生成和編譯步驟。lru 快取在群集重啟後依然保留,但可通過維護公升級擦除。
編譯**執行更快,因為它消除了使用直譯器的開銷。但首次生成和編譯**總會產生一些開銷。因此,首次執行查詢時的效能可能會造成誤導。執行一次性(臨時)查詢時,這一開銷可能會特別明顯。您應始終執行查詢兩次來確定其典型效能。
同樣,在比較從不同客戶端傳送的同一查詢的效能時要多加注意。執行引擎為 jdbc 連線協議和 odbc 及 psql (libpq) 連線協議生成不同的**。如果兩個客戶端使用不同的協議,則每個客戶端都會產生首次生成編譯**的開銷,即使是同一查詢也不例外。不過,使用相同協議的其他客戶端將因共享快取**而獲益。使用 odbc 的客戶端和執行 psql (libpq) 的客戶端可共享相同的編譯**。reference
影響查詢效能的因素
kvm官方文件
kvm官方文件 kvm活遷移 使用libvirt庫建立虛擬機器 domain 需要使用xml檔案作為配置檔案,如下是乙個最基本的虛擬機器配置檔案.2014 07 01 20 50 閱讀 233 在使用qemu建立虛擬機器的過程中是無法指定ip位址的,可是在實際應用中,我們是需要虛擬機器擁有ip位址的...
grok 官方文件
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!name code class html grok 解析任意文字並構造它 grok 是當前最好的方式在logstash 解析蹩腳的非結構化日誌資料 到一些結構化的可查詢的。這個工具是完美的對於syslog logs,apache和其他webserv...
PyGame官方文件
幫助內容 help contents 指導索引 reference index 最有用的東西 most useful stuff color display draw event font image key locals mixer mouse rect su ce time music pyga...