• <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
    主站蜘蛛池模板: 精品无码人妻一区二区三区| 国产精品久久久久久一区二区三区 | 亚洲国产成人精品女人久久久 | 97精品国产高清自在线看超| 日韩精品视频一区二区三区 | 久久久久国产成人精品亚洲午夜| 麻豆精品久久精品色综合| 日本VA欧美VA欧美VA精品| 中文精品99久久国产 | 大伊香蕉精品视频在线导航| 无码人妻精品一区二区| 偷拍精品视频一区二区三区| 国产成人精品在线观看| 日韩精品国产自在久久现线拍| 2020久久精品国产免费| 国产精品无码久久久久久| 人妻少妇偷人精品无码| 老司机午夜精品视频资源| 伊人久久大香线蕉精品不卡| 亚洲A∨精品一区二区三区| 精品无码国产自产拍在线观看蜜| 国产福利精品视频自拍 | 国产精品污WWW在线观看| 亚洲精品国产日韩无码AV永久免费网| 最新国产精品亚洲| 午夜精品福利视频| 骚片AV蜜桃精品一区| 国产午夜亚洲精品国产成人小说| 国产精品视频一区国模私拍| 国产精品无码日韩欧| 精品人人妻人人澡人人爽人人| 亚洲精品成人网站在线观看| 中文国产成人精品久久不卡 | 国产一精品一av一免费爽爽| 国产精品视频一区二区三区四| 嫖妓丰满肥熟妇在线精品| 亚洲AV无码成人精品区在线观看 | 成人区人妻精品一区二区不卡视频 | 亚洲精品国产日韩无码AV永久免费网| 正在播放国产精品每日更新| 无码精品久久久天天影视|