• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    SQL查詢性能提高的10個技巧

    來源:懂視網 責編:小采 時間:2020-11-09 07:29:08
    文檔

    SQL查詢性能提高的10個技巧

    SQL查詢性能提高的10個技巧:記錄詳細的需求文檔 在寫SQL之前必須弄清楚需求, 具體要取什么數據, 有些什么具體的約束條件, 在數據倉庫環境中還可以考慮補上這個需求具體對應哪些報表, 對應的基礎表如何. 到開發環境的話, 可以考慮加上這條SQL服務于哪些業務(頁面),調用頻率如何. 不要重
    推薦度:
    導讀SQL查詢性能提高的10個技巧:記錄詳細的需求文檔 在寫SQL之前必須弄清楚需求, 具體要取什么數據, 有些什么具體的約束條件, 在數據倉庫環境中還可以考慮補上這個需求具體對應哪些報表, 對應的基礎表如何. 到開發環境的話, 可以考慮加上這條SQL服務于哪些業務(頁面),調用頻率如何. 不要重

    記錄詳細的需求文檔 在寫SQL之前必須弄清楚需求, 具體要取什么數據, 有些什么具體的約束條件, 在數據倉庫環境中還可以考慮補上這個需求具體對應哪些報表, 對應的基礎表如何. 到開發環境的話, 可以考慮加上這條SQL服務于哪些業務(頁面),調用頻率如何. 不要重

    記錄詳細的需求文檔

    在寫SQL之前必須弄清楚需求, 具體要取什么數據, 有些什么具體的約束條件, 在數據倉庫環境中還可以考慮補上這個需求具體對應哪些報表, 對應的基礎表如何. 到開發環境的話, 可以考慮加上這條SQL服務于哪些業務(頁面),調用頻率如何.


    不要重新制造輪子

    對于一些已經比較成熟的解決方案,有比較現成的例子的SQL,要善于利用已有SQL,已有模板.

    降低語句的復雜度

    有些同學可能比較喜歡使用比較炫的技術,比較炫的SQL來解決問題. 但是要切記一點, 使用過于復雜過于新的技術, 如果不能在性能(以及其他方面)帶來好處的話, 只會使得這條SQL難于維護, 使得其他相關人員難于理解.

    小心處理NULL

    NULL在Oracle數據庫中是一個非常特別的值, 它不等于任何值, 所以如果你的SQL返回的值數量偏少,或者根本不對很可能就是使用NULL出現了問題..常見的情況是:

    1. 查詢的時候直接使用條件 colx = xxx,而這個colx里面是有NULL值的, 這種情況下查詢的返回結果是不會包含NULL值對應的記錄的, 如果要查詢出NULL對應的記錄, 需要使用 colx is null (is not null).

    2. var 為null的時候, 在plsql中給var賦值, var := var + xxx;這種情況下var的值會一直是null的, 這一點需要特別注意。

    自己核對數據類型

    在where條件里面要仔細地核對數據類型, 由于隱形轉換的問題, 在數據類型錯誤的時候, Oracle無法正確使用索引, 可能會導致SQL運行非常慢.

    小心處理重復數據

    在需求明確的情況下, 如果你不在乎是否出現重復記錄, 或者明確知道不會出現重復數據的情況下, 盡量使用Union All而不是Union進行查詢, Union會涉及到昂貴的排序操作.

    避免不必要的優化操作

    SQL的性能調優可能非常有趣非常帶勁, 但是很多時候調優可能意義不大, 比如對于只會使用一次的查詢, 你可能很少在乎是1秒鐘結束還是2秒鐘結束..

    不過一些基本的優化規則還是要用的:

    只查詢你需要的字段, 而不要所有的查詢都是用select *來進行.

    在通過索引來查詢更合適的時候, 盡量在查詢條件中指定有索引的字段來查詢. (在返回的記錄條數很少的時候, 使用索引一般都能更加快速的得到查詢結果.不要可以避免使用表連接. 關系數據庫就是為了表連接而設計的.

    盡可能使用綁定變量

    在開發環境使用的SQL語句盡量使用綁定變量, 這樣可以大大緩解Oracle數據庫解析SQL的消耗, 也可以大大提高數據庫的可擴展性.

    使用源碼控制工具

    最好使用CVS/SVN一類的源碼控制工具來管理你的SQL/PLSQL代碼, 這對于后期的維護有非常大的幫助, 也有助于其他人更好的理解你最初寫這條SQL的意圖.

    測試,測試,測試.

    在SQL寫好之后, 要深入的進行測試, 以確保其正常運行



    以上轉至網友

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    SQL查詢性能提高的10個技巧

    SQL查詢性能提高的10個技巧:記錄詳細的需求文檔 在寫SQL之前必須弄清楚需求, 具體要取什么數據, 有些什么具體的約束條件, 在數據倉庫環境中還可以考慮補上這個需求具體對應哪些報表, 對應的基礎表如何. 到開發環境的話, 可以考慮加上這條SQL服務于哪些業務(頁面),調用頻率如何. 不要重
    推薦度:
    標簽: 查詢 記錄 提升
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 99精品国产成人一区二区| 亚洲国产精品一区| 日本精品久久久久中文字幕| 野狼精品社区| 精品国产一区二区三区2021| 国产午夜精品视频| 欧美午夜精品久久久久免费视| 久久精品亚洲乱码伦伦中文| 91人前露出精品国产| 国产福利微拍精品一区二区| 日韩精品系列产品| 永久免费精品影视网站| 精品人妻少妇嫩草AV无码专区 | 国产99精品久久| 日韩AV无码精品人妻系列| 亚洲av午夜成人片精品电影| 精品久久久久久国产三级| 97久人人做人人妻人人玩精品| 99久久精品国产免看国产一区| 久久国产精品成人片免费| 亚洲AV成人无码久久精品老人| 亚洲精品偷拍视频免费观看| 欧美在线精品一区二区三区| 久久久久久久久久久免费精品| 国产乱码伦精品一区二区三区麻豆| 午夜精品视频在线观看| 欧美精品国产精品| 欧美精品黑人巨大在线播放| 久久久久国产精品| 青青草国产精品久久久久| 久久福利青草精品资源站免费| 国产精品欧美一区二区三区不卡| 91视频精品全国免费观看| 99精品视频在线观看| 精品999在线| 欧美高清在线精品一区| 午夜精品美女写真福利| Aⅴ精品无码无卡在线观看| 国产精品免费αv视频| 精品国产一区二区三区AV性色 | 真实国产乱子伦精品一区二区三区|