国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  應聘面試  >  Python面試題  > 優化數據庫?提高數據庫的性能

優化數據庫?提高數據庫的性能

來源:千鋒教育
發布人:wjy
時間: 2022-08-22 14:36:01 1661150161

1.對語句的優化

①用程序中,保證在實現功能的基礎上,盡量減少對數據庫的訪問次數; 通過搜索參數,盡量減少對表的訪問行數,最小化結果集,從而減輕網絡負擔; 

②能夠分開的操作盡量分開處理,提高每次的響應速度;在數據窗口使用SQL時,盡量把使用的索引放在選擇的首列;算法的結構盡量簡單;

③在查詢時,不要過多地使用通配符如 SELECT * FROM T1 語句,要用到幾列就選擇幾列如: SELECT COL1,COL2FROM T1; 

④在可能的情況下盡量限制盡量結果集行數如:SELECT TOP 300 COL1,COL2,COL3FROM T1,因為某些情況下用戶是不需要那么多的數據的。

⑤不要在應用中使用數據庫游標,游標是非常有用的工具,但比使用常規的、面向集的SQL語句需要更大的開銷;按照特定順序提取數據的查找。

2. 避免使用不兼容的數據類型 例如float和int、char和varchar、binary和varbinary是不兼容的。數據類型的不兼容可能使優化器無法執行一些本來可以進行的優化操作。

例如: SELECT nameFROM employee WHERE salary > 60000在這條語句中,如salary字段是money型的,則優化器很難對其進行優化,因為60000是個整型數。

我們應當在編程時將整型轉化成為錢幣型,而不要等到運行時轉化。若在查詢時強制轉換,查詢速度會明顯減慢。

3.避免在 WHERE 子句中對字段進行函數或表達式操作。若進行函數或表達式操作,將導致引擎放棄使用索引而進行全表掃描。

4.避免使用!=或<>、ISNULL 或 IS NOT NULL、IN ,NOT IN 等這樣的操作符

5.盡量使用數字型字段

6.合理使用 EXISTS,NOTEXISTS 子句。

7.盡量避免在索引過的字符數據中,使用非打頭字母搜索。

8.分利用連接條件

9.消除對大型表行數據的順序存取

10. 避免困難的正規表達式

11. 使用視圖加速查詢

12. 能夠用BETWEEN的就不要用IN

13. DISTINCT的就不用GROUPBY

14. 部分利用索引

15. 能用UNIONALL就不要用UNION

16. 不要寫一些不做任何事的查詢

17. 盡量不要用SELECTINTO語句

18. 必要時強制查詢優化器使用某個索引

19. 雖然 UPDATE、DELETE 語句的寫法基本固定,但是還是對 UPDATE 語句給點建議:  

a) 盡量不要修改主鍵字段。 

b) 當修改 VARCHAR 型字段時,盡量使用相同長度內容的值代替。

c) 盡量最小化對于含有UPDATE觸發器的表的UPDATE操作。

d) 避免 UPDATE 將要復制到其他數據庫的列。

e) 避免 UPDATE 建有很多索引的列。

f) 避免 UPDATE 在 WHERE 子句條件中的列。

優化數據庫?提高數據庫的性能

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT