国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

2.6 為什么我的系統(tǒng)里經(jīng)常需要寫各種復(fù)雜SQL?

2023-05-25 13:00 作者:xlorne  | 我要投稿

為什么我們的系統(tǒng)里經(jīng)常需要寫各種復(fù)雜SQL?

  1. 由于系統(tǒng)中的表設(shè)計問題,導(dǎo)致需要查詢一些數(shù)據(jù)的時候,不得不通過多表關(guān)聯(lián)實現(xiàn)數(shù)據(jù)的組合才能滿足業(yè)務(wù)。

    1. 例如數(shù)據(jù)庫前期的設(shè)計不合理,導(dǎo)致的只能通過復(fù)雜查詢才能滿足。

    2. 需求的變化,導(dǎo)致數(shù)據(jù)庫的設(shè)計不合理,從而不得不通過更加復(fù)雜的查詢滿足業(yè)務(wù)。

  2. 統(tǒng)計、查詢等需求的變化,導(dǎo)致為了滿足查詢的需求不得不通過復(fù)雜查詢才能夠完成數(shù)據(jù)的匹配。

    1. 由于需求的變化導(dǎo)致不得不通過更多的數(shù)據(jù)關(guān)聯(lián)才能滿足業(yè)務(wù)場景。

    2. 數(shù)據(jù)挖掘?qū)用娴男枨?,由于對查詢的顆粒度要求非常細(xì)致,只能通過各種條件檢索才能滿足業(yè)務(wù)場景。

  3. 由于對系統(tǒng)的數(shù)據(jù)庫設(shè)計不夠了解,然后自己編寫了一些不是特別合理,但卻特別復(fù)雜的SQL以滿足查詢業(yè)務(wù)。

面對復(fù)雜SQL性能問題,我們可以選擇的解決方式:

  1. 對SQL做性能優(yōu)化

  2. 對數(shù)據(jù)庫做優(yōu)化,例如數(shù)據(jù)庫讀寫分離、分庫、分表、更換高性能數(shù)據(jù)庫等方式。

  3. 系統(tǒng)設(shè)計上的優(yōu)化,例如建立寬表,或者將數(shù)據(jù)同步到緩存數(shù)據(jù)庫或搜索引擎數(shù)據(jù)庫等方式

對于上述解決方案,又帶來了的新問題:

  1. 對于SQL性能的優(yōu)化,通常需求對系統(tǒng)的數(shù)據(jù)庫設(shè)計比較清楚,不然很難實現(xiàn)優(yōu)化。而且業(yè)務(wù)不斷的變化,這樣的持續(xù)SQL層面的優(yōu)化,也變得難以滿足需求,即要查詢到數(shù)據(jù),還要保證查詢性能,通常是魚與熊掌不可兼得的事情。

  2. 通常對數(shù)據(jù)庫層面的優(yōu)化會牽連系統(tǒng),而且數(shù)據(jù)庫層面的優(yōu)化,也會隨著后續(xù)業(yè)務(wù)的復(fù)雜變得不斷的優(yōu)化,成了一個無底洞。而且數(shù)據(jù)庫層面的優(yōu)化對技術(shù)的門檻要求非常高,這將也是一個非常難以落地的方案。

  3. 系統(tǒng)設(shè)計上的優(yōu)化,必然會對當(dāng)前的系統(tǒng)做調(diào)整。假如將檢索數(shù)據(jù)同步到緩存或搜索引擎以后,雖然系統(tǒng)的查詢效率上來了,但是卻帶來了一個新的問題,數(shù)據(jù)同步問題。數(shù)據(jù)何時同步,緩存何時清理,這些問題又稱為新的困擾。

總結(jié)

?這個問題的根是數(shù)據(jù)的靈活性不夠,數(shù)據(jù)要做好兩個職責(zé):

  1. 數(shù)據(jù)要維護業(yè)務(wù)的完整性。

  2. 數(shù)據(jù)要滿足查詢場景的多樣性。

? ? 如果數(shù)據(jù)本身是業(yè)務(wù)模型,那么數(shù)據(jù)就難以滿足查詢場景的多樣性,因此我們不能將數(shù)據(jù)作為業(yè)務(wù)模型,要將業(yè)務(wù)模型從數(shù)據(jù)庫模型改為業(yè)務(wù)模型,將數(shù)據(jù)與業(yè)務(wù)分離,實現(xiàn)數(shù)據(jù)的維護與業(yè)務(wù)分離,這樣可以讓數(shù)據(jù)更好的滿是上述的兩個職責(zé),利用事件機制與消息隊列實現(xiàn)模型與數(shù)據(jù)的同步,實現(xiàn)數(shù)據(jù)根據(jù)事件消息,完成實時數(shù)據(jù)的適配與維護。

2.6 為什么我的系統(tǒng)里經(jīng)常需要寫各種復(fù)雜SQL?的評論 (共 條)

分享到微博請遵守國家法律
隆回县| 孟连| 屯留县| 元阳县| 沙河市| 无锡市| 罗甸县| 江川县| 得荣县| 双峰县| 博客| 布尔津县| 新竹市| 马公市| 泽库县| 景洪市| 交口县| 麦盖提县| 江口县| 涪陵区| 荆州市| 桦川县| 香港 | 鄂州市| 六盘水市| 揭西县| 宜丰县| 佛教| 永川市| 鹤岗市| 南郑县| 枝江市| 宜宾县| 桐城市| 大理市| 榆树市| 河源市| 尚义县| 福州市| 丘北县| 娄烦县|