換種方法,提高left join查詢的效率

2021-08-30 05:47:27 字數 415 閱讀 6787

表之間使用聯結查詢時,以left join為例,當聯結的表較多,並且符合條件的記錄個數也很多時,查詢的效率變得十分低下,不過改變一下方法,卻可以避免這個問題。

例如:要對系統中各個公司的業務進行統計,公司的業務有很多:業務1、業務2、業務3......業務10,就假設有10項業務,初始的想法是將公司表與這10張業務表進行left join,按公司分組,然後使用count(distince 業務表主鍵),來統計每個公司的各個業務量。但這種方法執行效率太低,換一種做法:先將公司表分別與10張業務表left join,按公司分組,這樣得到10個查詢結果,然後將公司表與這10個查詢結果進行left join,這樣也可以得到想要的結果。

感覺最大的區別就是公司表與那10個查詢結果之間的對應關係是1對1,而公司表與10個業務表之間的對應關係是1對多,也許就是這個原因,導致了效率的天壤之別。

方法衝突 換種方法處理學生衝突

小學生很多不會處理和同學之間的關係,常因一些小事而發生矛盾,甚至訴諸 武力 最後只好把 官司 告到我們班主任這兒來,讓老師斷案,平息戰爭。作為班主任,我每天都會處理好幾起這樣的事件,以前我遇到有矛盾或者衝突的時候,解決的辦法就是 將爭吵打鬧的雙方叫在一起,了解事情的原因,對過錯多的一方批評教育一通,...

提高情商的10種方法

許多人無論是在生活中或者是工作中,都非常的受周圍人的喜歡,他們的人際交往能力極強,能夠很好的控制好自己的情緒,以及能夠理解他人的情緒,做出合理的調整。情商,即情緒的商數,是指在情緒 情感 意志 耐受力等方面的品質。那麼如何提高情商呢,下面介紹10種方法。有的人能力平平,卻總是在眾人面前誇下海口,以致...

提高程式設計能力的7種方法

程式設計是非常酷的一件事情,但是在酷炫的背後它對很多人來說還是挺難的。很多人在學習程式設計之初就被困難擊敗了。當你不熟悉程式設計的時候,你可能會覺得無從下手,並且不知道如何運用學到的知識。只要你通過了這一困難的學習階段,你就會發現乙個全新的世界。以下是一些能夠幫助你快速提高程式設計技巧的建議。1.多...