戰(zhàn)爭的開始:系統(tǒng)從開發(fā)環(huán)境到生產(chǎn)環(huán)節(jié)
戰(zhàn)術與戰(zhàn)略:戰(zhàn)略是大局上把握整體sql架構拐格,戰(zhàn)術是局部的sql缆巧。
戰(zhàn)略第一部分:
高效訪問數(shù)據(jù)庫的程序的關鍵目標
1羞延,查詢的識別
在程序中加入sql語言的識別姚炕,
/*查詢今天出差的合同工的人員*/ select **********
orcale包含的registration faclities實現(xiàn)啦對注釋的簡化
2,數(shù)據(jù)庫鏈接的穩(wěn)定性
數(shù)據(jù)庫鏈接會帶來巨大的開銷根竿,
一個1000行的sql語言截碴,發(fā)生以下3種操作
a. 鏈接一次憔辫,一個行操作
b. 鏈接一次忿偷,所有行操作
c.鏈接一次金顿,100行為一個數(shù)組進行操作
操作時間a>>b>>c
原因:數(shù)據(jù)庫的鏈接是重復操作,線程鲤桥,sesssion,跟蹤揍拆,dbms的檢驗等。
程序與數(shù)據(jù)庫之間的交互
3茶凳,戰(zhàn)略優(yōu)先與戰(zhàn)術
戰(zhàn)略決定展示嫂拴,高屋建瓴。
4贮喧,先定義問題筒狠,再解決問題
所有的技術。方案都是我們?yōu)榱诉_到目標的手段箱沦,辩恼,新技術固然很迷人,
但是不要把新的技術作為目標谓形,擺弄新工具之前灶伊,先學好手藝。
5寒跳,保持數(shù)據(jù)庫模式的穩(wěn)定
不要在程序中使用ddl語言聘萨,建立,修改童太,刪除數(shù)據(jù)庫對象匈挖。
ddl核心是數(shù)據(jù)字典,數(shù)據(jù)字典是所有數(shù)據(jù)庫操作的核心康愤,所以對ddl的操作會引起全局加鎖
6儡循,臨時表與永久表,
一般使用永久表征冷,臨時表的使用減低優(yōu)化性能择膝。
7,使用sql處理集合
sql語言是基于集合(set)處理數(shù)據(jù)的检激,如果不是從整個表進行操作肴捉,必須對處理的set
進行粒度的定義腹侣,或許是大量數(shù)據(jù)粗粒度,或許是小量數(shù)據(jù)細粒度
將大批的數(shù)據(jù)處理分割為許多的小的數(shù)據(jù)處理是個壞注意齿穗。
如:幾千個數(shù)據(jù)傲隶,使用游標很慢,換成幾個語句窃页,雖然快不了多少跺株,但總是推薦這樣做
8,動作豐富的sql語言
sql不是過程語言脖卖,請區(qū)別聲明處理與過程處理的區(qū)別乒省,所以不要給sql加入過程
邏輯,如if else等畦木,
原因:數(shù)據(jù)庫的訪問會跨越多個軟件層袖扛,甚至是網(wǎng)絡層。
sql中引入過程邏輯十籍,性能與維護問題將由你的程序承擔蛆封。
9,每次充分訪問數(shù)據(jù)庫
要從一個數(shù)據(jù)表中提取多段數(shù)據(jù)的時候,一次全部讀取勾栗,而不是分次讀取
10,接近dbms的核心
代碼越是靠近dbms核心惨篱,越是執(zhí)行的快,
有些數(shù)據(jù)庫允許自己寫c語言等為其編程械姻,這樣肯定快
多多使用數(shù)據(jù)庫自帶的函數(shù)
11,只做必須做的東西
不要重復的造輪子,請使用現(xiàn)有的sql功能和api机断。
12,sql語言反映了業(yè)務邏輯
使用數(shù)據(jù)庫的監(jiān)控功能楷拳,確保當前執(zhí)行的業(yè)務活動合理并且一致。
13,把邏輯放在查詢中
只要可能就把條件邏輯放在sql語句中吏奸,而不是sql的宿主語言欢揖。
14,一次完成多個更新
如果可以的話奋蔚,盡量使用一個語句處理多個更新她混,盡量減少同一個表的重復訪問,
15,慎重使用自定義函數(shù)
優(yōu)化器對于自定義的函數(shù)無能為力
16,簡潔的sql語言泊碑。
sql是聲明式語言坤按,所以盡量使用你的額代碼超越業(yè)務
17,進攻式編程與異常。
異常與攻擊性編程是個難題馒过。
chapter 2 發(fā)動戰(zhàn)爭
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門领猾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來米同,“玉大人,你說我怎么就攤上這事瘤运∏舷迹” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵拯坟,是天一觀的道長但金。 經(jīng)常有香客問我,道長郁季,這世上最難降的妖魔是什么冷溃? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮梦裂,結果婚禮上似枕,老公的妹妹穿的比我還像新娘。我一直安慰自己年柠,他們只是感情好凿歼,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著冗恨,像睡著了一般答憔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掀抹,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼疟位!你這毒婦竟也來了诗茎?” 一聲冷哼從身側響起,我...
- 正文 年R本政府宣布缆瓣,位于F島的核電站喧枷,受9級特大地震影響,放射性物質發(fā)生泄漏弓坞。R本人自食惡果不足惜隧甚,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望渡冻。 院中可真熱鬧戚扳,春花似錦、人聲如沸族吻。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽超歌。三九已至砍艾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間握础,已是汗流浹背辐董。 一陣腳步聲響...