簡體   English   中英

如何檢查sql查詢是否是確定性的?

[英]How can I check if a sql query is deterministic?

我所說的確定性是查詢將始終返回完全相同的結果集。 有沒有辦法做到這一點?

通常不認為查詢是確定性的,因為基礎表可以在調用之間進行更改。 確定性通常僅在談論UDF時起作用。

我知道在數據庫中生成確定性數據的唯一方法是在適當的時間點創建必要數據的快照。 通常,數據會被轉換並加載到數據倉庫中,並附帶要歸檔的行的時間戳,以供以后檢索。 可以針對數據倉庫運行審核和其他類型的報告查詢,並且結果在任何給定時間段內都是“確定性的”,但不能跨時間段。

如有必要,還可以將數據倉庫中存儲的信息預先計算為多維多維數據集以進行更快的處理。 為了保持適當的格式,應該只將數據倉庫表插入其中,並且新一批數據應始終與唯一的時間戳關聯。 通常最好以星形或雪花模式的某種形式存儲數據,如果需要的話,這可以簡化多維數據集的生成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM