成人黄色在线网站 I 国产aa免费 I 中文字幕免费高清 I 国产三级影院 I 日韩欧美三级在线观看 I 久久久国产精品麻豆a片 I 欧美与黑人午夜性猛交久久久 I 91国产精品视频在线 I 国产美女狂喷水潮在线播放 I 黄页免费网站在线观看 I 欧美日韩激情视频 I 午夜理论无码片在线观看免费 I 深夜爽爽动态图无遮无挡 I 国精产品一区一区三区有限公司杨 I 天天操天天舔天天爽 I 免费看日本黄色片 I 成人va在线 I 日韩中文字幕在线观看 I 婷婷综合网 I 97视频免费观察看 I 色月丁香 I 日韩视频一二三 I 男女黄色毛片 I 美女疯狂连续喷潮视频 I 亚洲日本va一区二区sa I 欧美日韩视频区 I 毛片网在线 I 欧美一本在线 I 少妇一级淫片免费放香蕉 I avav在线看 I 久久精品亚洲中文字幕无码网站 I 天堂av在线中文在线新版 I 电影一区 电影二区 I 色av吧 中文字幕 I 国产精品伊人色

歡迎來到培訓無憂網!

全國切換

咨詢熱線 400-001-5729

位置:培訓無憂網 > 新聞資訊 > 電腦/IT > java培訓 >  Java培訓了解下性能反模式N+1問題

Java培訓了解下性能反模式N+1問題

來源:培訓無憂網 發布人:星星

2022-01-18 11:33:34|已瀏覽:342次

Java培訓了解下性能反模式N+1問題

      隨著應用程序(以及用于構建它們的工具)變得越來越復雜,并且數據需求變得越來越大,開發團隊開發出能夠在基線和規模上高效執行的應用程序至關重要。但是實現這個目標有很多障礙:像 N+1 問題這樣的性能反模式可能會減慢或破壞最好的應用程序。在本文中,我們將探討 N+1 問題、Java 中 N+1 問題背后的常見原因。

Java 中的性能反模式
        性能反模式通常圍繞著在負載或規模上復合的低效或多余查詢。出現這些模式的原因多種多樣,但最終結果可能從性能差到級聯故障。我們今天看到的反模式稱為 N+1 問題。它以對數據庫的一系列過度請求為標志,并經常伴隨對象關系映射 (ORM) 工具。
什么是 N+1 問題?
       N+1 問題,也稱為 N+1 選擇問題或 N+1 查詢,發生在服務從數據庫請求多行 (N) 數據,然后單獨請求這些項目的相關數據 N 次時。在分布式 Spring PetClinic 演示應用程序的示例中,我們看到 vet.specialties 方法從數據庫中請求 24 行,然后循環并通過單獨的查詢從數據庫中請求 24 行。那是 24 次調用,加上對數據庫本身的 24 行數據的初始調用——或者,簡而言之,N + 1 次調用。 當然,這些單獨的行調用可以通過單個調用來完成。
是什么導致 Java 應用程序中的 N+1 問題?
      有一些常見的罪魁禍首,它們通常與 ORM 工具或框架以及它們生成查詢的方式有關。
1. ORM 框架
       像 Java 這樣的面向對象語言通常需要使用關系數據庫。這要么意味著開發人員或數據庫管理員需要編寫(優化)SQL 請求,要么他們需要使用中間層,如 ORM 框架,為該數據庫生成兼容的請求。雖然功能強大,但 ORM 框架在創建未優化查詢(包括 N+1 查詢)方面享有盛譽。
2. 延遲加載
       默認情況下,像 Hibernate 這樣的 ORM 框架可以在其生成的數據庫請求中使用 FetchType.LAZY。而且,由于這些查詢沒有保持會話,因此每次請求服務需要時,都會對該數據庫進行 N+1 次查詢。
3. 開發人員和數據庫管理員
       事實是,這些 ORM 框架雖然很方便,但無法取代開發人員或數據庫管理員自己編寫請求的誠實努力。而且,由于 ORM 工具在開發人員沒有太多監督的情況下生成查詢(除了功能),因此開發人員在生產中出現之前不會看到這個問題。

      注:尊重原創文章,轉載請注明出處和鏈接 http://www.hebeijilong.cn/news-id-15970.html 違者必究!部分文章來源于網絡由培訓無憂網編輯部人員整理發布,內容真實性請自行核實或聯系我們,了解更多相關資訊請關注java培訓頻道查看更多,了解相關專業課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會一對一幫助你規劃更適合你的專業課程!
  • 姓名:

  • 手機:

  • 地區:

  • 想學什么:

  • 培訓無憂網
免 費 申 請 試 聽
提交申請,《培訓無憂網》課程顧問老師會一對一幫助你規劃更適合你的專業課程!