隨筆-295  評論-26  文章-1  trackbacks-0

          1.表名要以模塊簡稱為前綴, 如:Bse_, Crm_, Sys_, Scm_, OA_, Mrp_, Ftm_等,后面部分與字段名稱都盡量使用有意義的英文單詞,第一個字母要大寫,單詞之間直接連接,不需要連接符號;

          2.每個表必須要有主鍵,而且對經常使用的字段建立索引,除了必要的字段,盡可能設置字段允許為空而且不需要缺省值;

          3.主鍵規則:對于經常增刪的數據表,主鍵字段建議為varchar(36),用GUID生成,其它表原則上以性能為參考來建立主鍵,但要考慮可移植性,并發性與易初始化;主鍵本身在業務邏輯上不體現,不具有實際意義;

          4.避免使用復合主鍵,只比較一個字段比比較多個字段快很多;

          5.除了必要的冗余數據外,盡量避免冗余數據的出現,容易保證數據的一致性;

          6.完全符合建立聚集索引要求:“既不能絕大多數都相同,又不能只有極少數相同”的規則;

          7.用聚合索引比用不是聚合索引的主鍵速度快;

          8.用聚合索引比用一般的主鍵作order by時速度快;

          9.使用聚合索引內的字段,搜索時間會按數據占整個數據表的百分比成比例減少;

          10.索引有助于提高檢索性能,但過多或不當的索引也會導致系統低效,過多的索引甚至會導致索引碎片;

          11.Like條件中,通配符%在字符串的開頭使得索引無法使用;

          12.OR條件,會引起全表掃描;

          13.不推薦使用以下條件語句:NOT、!=、<>、!<、!>、NOT EXISTS、NOT IN、NOT LIKE;

          14.IN 的作用相當與OR;

          15.盡量少用NOT;

          16.exists 和 in 的執行效率是一樣的;

          17.用函數charindex()和前面加通配符%的LIKE執行效率一樣;

          18.union在通常情況下比用or的效率要高的多,但如果or兩邊的查詢列是一樣的話,那么用union則反倒和用or的執行速度差很多;

          19.字段提取要按照“需多少、提多少”的原則,避免“select *”;

          20.count(*)不比count(主鍵)慢,而count(*)卻比其他任何除主鍵以外的字段匯總速度要快,而且字段越長,匯總速度就越慢;

          21.order by按聚集索引列排序效率最高;

          22.高效的TOP,提高性能;

          23.聚集索引有兩個最大的優勢:1、以最快的速度縮小查詢范圍;2、以最快的速度進行字段排序;

          24.一定要將聚集索引建立在:1、您最頻繁使用的、用以縮小查詢范圍的字段上;2、您最頻繁使用的、需要排序的字段上;

          25. 由于改變一個表的內容,將會引起索引的變化。頻繁的insert,update,delete語句將導致系統花費較大的代價進行索引更新,引起整體性能的下降。一般來講,在對查詢性能的要求高于對數據維護性能要求時,應該盡量使用索引,否則,就要慎重考慮一下付出的代價;

          26. 不同類型的索引效能是不一樣的,應盡可能先使用效能高的,比如:數字類型的索引查找效率高于字符串類型,定長字符串char,nchar的索引效率高于變長字符串varchar,nvarchar的索引;

          27. 有嵌套查詢時,盡可能在內層過濾掉數據;

          28. 多表關聯查詢時,需注意表順序,并盡可能早的過濾掉數據,只將必須的數據帶到后續的操作中去;

          29. 任何對列的操作都導致全表掃描,如數據庫函數、計算表達式等,查詢時應盡可能將操作移至等號的某一邊;

          30. 存儲過程如果有返回結果集的話, 就不能通過返回一個狀態值來進行邏輯判斷,否則會導致執行兩次存儲過程,影響性能;

          31. Where條件中如果存在以下情況,則索引無效,嚴重影響性能: 索引列不要使用函數; 索引列不要使用NOT; 索引列不要用NULL; 不要對索引列進行計算;



          大盤預測 國富論
          posted on 2007-10-26 15:34 華夢行 閱讀(217) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 清河县| 永修县| 九寨沟县| 江达县| 昭平县| 锦州市| 日喀则市| 兴安盟| 布拖县| 农安县| 射阳县| 民权县| 剑川县| 普格县| 比如县| 夹江县| 横山县| 普安县| 渭南市| 凤翔县| 察雅县| 章丘市| 塘沽区| 博客| 启东市| 东源县| 如皋市| 新平| 兴文县| 胶州市| 环江| 田林县| 城市| 佳木斯市| 宣汉县| 鄂伦春自治旗| 哈巴河县| 白城市| 洛宁县| 日照市| 蓝田县|