インターフェイス内の複数のデータソース-クライアント側の「SQL」

時には、のインターフェースで、当社のVLSIアプリケーションそれはなっ たエントリのいくつかの「グループ」に必要な 特定のリストで(チャット、連絡先や電話で例えば、サービスメッセージ)。





これらすべてのレコードが1つのソースからのものである場合は問題ありませんが 、異なるサービスからのものであり、カーソルナビゲーションを使用する と、実装アルゴリズムは非常に重要になります。





ここでは意図的に「コード内」で実装を行うことはしませんが、必要に応じて自分でタスクに合わせてスケーリングできるように、ソリューションへの排他的なアルゴリズムアプローチについて説明します。そう...





問題の定式化

2つのサービスがあります。それ以上かもしれませんが、前の図に従って、わかりやすくする ために、通話と連絡先のサービスとします





興味深いタスクを提供してくれたCRMの同僚に感謝します。それまでの間、心配する必要はありません。」





    ,  ""   .





  ""  - , - , .





複数の呼び出しを1つのエントリにグループ化する

, , , , :





  • PostgreSQL Antipatterns: JOIN





  • PostgreSQL Antipatterns:





  • SQL HowTo: while- , « »





#1: " "

,   -, - ,   . -   .





" " , . "",   ?





#2: " "

, ?..   (20 ) ,     "" , - .





, ( ) "" - ?   , .





,    ( ), .   , "".





#1: " "

, ,    - - ( 20), - .





   , - (merge ordered) (limit) "" .





, , "" 15 20 . 5 , " " -   .





#3: "One Ring to rule them all"

? ,    - , .     - , .





, " - , "   - , .





#4: " server-side"

-   , . , ,   .





 stateless server-side , , -  . , :





  •   ---





  •     , ""





  •   --





#2: " client-side"

, -,   ?.. .





 , " "   (, , localStorage), .





- :





  • 20 20





  • "" 5





  • 5 "" + 15





  • 5





  • 20 - ? ! ( 20, "" )





  • " ", 25 20





Edge Cases

, -  "" " ", "" .





,   , : ", , , , !"








All Articles