chapter 2 發動戰爭

戰爭的開始:系統從開發環境到生產環節
戰術與戰略:戰略是大局上把握整體sql架構,戰術是局部的sql。

戰略第一部分:
高效訪問數據庫的程序的關鍵目標
    1,查詢的識別
          在程序中加入sql語言的識別,
          /*查詢今天出差的合同工的人員*/ select **********
          orcale包含的registration faclities實現啦對注釋的簡化
    2,數據庫鏈接的穩定性
          數據庫鏈接會帶來巨大的開銷,
                一個1000行的sql語言,發生以下3種操作
               a. 鏈接一次,一個行操作
               b. 鏈接一次,所有行操作
               c.鏈接一次,100行為一個數組進行操作
                操作時間a>>b>>c
         原因:數據庫的鏈接是重復操作,線程,sesssion,跟蹤,dbms的檢驗等。
                      程序與數據庫之間的交互
    3,戰略優先與戰術
          戰略決定展示,高屋建瓴。
    4,先定義問題,再解決問題
            所有的技術。方案都是我們為了達到目標的手段,,新技術固然很迷人,
            但是不要把新的技術作為目標,擺弄新工具之前,先學好手藝。
    5,保持數據庫模式的穩定
          不要在程序中使用ddl語言,建立,修改,刪除數據庫對象。
          ddl核心是數據字典,數據字典是所有數據庫操作的核心,所以對ddl的操作會引起全局加鎖
     6,臨時表與永久表,      
        一般使用永久表,臨時表的使用減低優化性能。
     7,使用sql處理集合
          sql語言是基于集合(set)處理數據的,如果不是從整個表進行操作,必須對處理的set
        進行粒度的定義,或許是大量數據粗粒度,或許是小量數據細粒度
        將大批的數據處理分割為許多的小的數據處理是個壞注意。
         如:幾千個數據,使用游標很慢,換成幾個語句,雖然快不了多少,但總是推薦這樣做
        8,動作豐富的sql語言
              sql不是過程語言,請區別聲明處理與過程處理的區別,所以不要給sql加入過程
              邏輯,如if else等,
              原因:數據庫的訪問會跨越多個軟件層,甚至是網絡層。
                        sql中引入過程邏輯,性能與維護問題將由你的程序承擔。
        9,每次充分訪問數據庫
              要從一個數據表中提取多段數據的時候,一次全部讀取,而不是分次讀取
        10,接近dbms的核心
            代碼越是靠近dbms核心,越是執行的快,
                  有些數據庫允許自己寫c語言等為其編程,這樣肯定快
                   多多使用數據庫自帶的函數
        11,只做必須做的東西
             不要重復的造輪子,請使用現有的sql功能和api。
        12,sql語言反映了業務邏輯
              使用數據庫的監控功能,確保當前執行的業務活動合理并且一致。
        13,把邏輯放在查詢中
              只要可能就把條件邏輯放在sql語句中,而不是sql的宿主語言。
      14,一次完成多個更新
            如果可以的話,盡量使用一個語句處理多個更新,盡量減少同一個表的重復訪問,
      15,慎重使用自定義函數
            優化器對于自定義的函數無能為力
      16,簡潔的sql語言。
            sql是聲明式語言,所以盡量使用你的額代碼超越業務
      17,進攻式編程與異常。
              異常與攻擊性編程是個難題。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,963評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,348評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,083評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,706評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,442評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,802評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,795評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,983評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,542評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,287評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,486評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,030評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,710評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,116評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,412評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,224評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,462評論 2 378

推薦閱讀更多精彩內容

  • 壺里乾坤大,杯中日月長。 喝的,是江湖 醉的,是情誼 笑的,是豪情 談的,是人生 從沒想過,在歲月里漸行漸遠 從沒...
    阿北偏東閱讀 606評論 0 1
  • 從11月13日開始,我展開了對學習技巧的摸索。這也是因為一次偶然。(看同樣一本書,鄭先生看的比我快,而且還記得比我...
    貓曖閱讀 339評論 0 2
  • 1.常用屬性 默認提示:android:hint="默認提示文本" andro...
    jadefly閱讀 369評論 0 1