sql語言藝術2

2021-08-30 12:30:55 字數 771 閱讀 9076

先定義問題,再解決問題

problem

definition

before

solution

一知半解是危險的。人們常在聽說了新技術或特殊技術之後——有時的確很吸引人——試圖採

用它作為新的解決方案。普通開發者和設計師通常會立即採納這些新「解決方案」,直到後來才

發現它們會產生許多後續問題。

現成的解決方案中,非規範化設計引人注目。設計伊始,非規範化設計的擁護者就提出此方案,

為了尋求「效能」而無視最終將會面臨的公升級惡魔——而事實上,在開發周期早期,改進設計(或

學習如何使用join)也是乙個不錯的選擇。作為非規範化設計的一種手段,物化檢視(materialized

view)常被認為是靈丹妙藥。物化檢視有時被稱為快照(snapshot),這個更加平常的詞更形象

地反映了可悲的事實:物化檢視是某時間點的資料副本。在沒有其他辦法時,這個理論上遭到

質疑的技術也未嘗不值得一試,借用卡夫卡(franz kafka)的一句名言:「邏輯誠可貴,生存價

更高。」

然而,絕大部分問題都可借助傳統技術巧妙解決。首先,應學會充分利用簡單、傳統的技術。

只有完全掌握了這些技術,才能正確評價它們的侷限性,最終發現它相當於新技術的潛在優勢

(如果有的話)。

所有技術方案,都只是我們達到目標的手段。沒有經驗的開發者誤把新技術本身當成了目標。

對於熱衷於技術、過於看重技術的人來說,此問題就更為嚴重。

總結:先打基礎,再趕時髦:擺弄新工具之前,先把手藝學好。

SQL語言藝術

內容介紹 本書分為12章,每一章包含許多原則或準則,並通過舉例的方式對原則進行解釋說明。這些例子大多來自於實際案例,對九種sql經典查詢場景以及其效能影響討論,非常便於實踐,為你的實際工作提出了具體建議。本書適合sql資料庫開發者 軟體架構師,也適合dba,尤其是資料庫應用維護人員閱讀。您現在正在檢...

SQL語言藝術 前言

it行業發展的過程中,新技術層出不窮,今天資料處理依然是系統的核心。與以往不同的是,需要處理的資料量程指數級別增長,甚至超過的硬體的增長速度,所以僅僅做到正確處理還不夠,必須足夠的快。對於資料庫的效能問題,開發人員的一慣做法是先寫出正確的程式,一旦出現問題,再由dba來解決,這種做法未能從源頭上解決...

閱讀 SQL語言藝術》實踐二

摘要 sql的進攻式程式設計 offensivecoding with sql 與之對應防禦式程式設計code defensively 在開始處理之前先檢查所有引數的合法性。進攻式程式設計的本質特徵是 以合理的可能性 reasonable probabilities 為基礎。比較二者 常規的程式設計...