亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 中的大數據庫調用 + 解析 VS 許多數據庫調用

Java 中的大數據庫調用 + 解析 VS 許多數據庫調用

茅侃侃 2023-09-06 15:39:33
我有一個項目,用于計算儀表板的 MySQL 表中特定條件的實例。一開始很簡單,但在幾次“你可以添加...”請求之后,我的程序中出現了多達 86 個不同的查詢。我預計未來會有更多“您可以添加...”請求嗎?為了提高效率,將數據批量查詢到 Java 然后在那里進行排序/計數,還是繼續進行單獨查詢會更好/更快嗎?該表很小,現在 <300 行,而且我看不到它會超過 900 行(如果這很重要的話)。
查看完整描述

1 回答

?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

所有查詢都是“SELECT count(*) where [條件 A] 和 [條件 B] 和 [條件 C]”的變體。它設置為每 5 分鐘運行一次。


針對此類查詢的提示:表達式為 1 或 0 的 SUM() 與表達式為 true 的行的 COUNT() 相同。這是一個方便的 MySQL 特定技巧(其他 SQL 實現不會將 true/false 視為與 1/0 相同)。


SELECT

  SUM(<condition A>) AS count_A,

  SUM(<condition B>) AS count_B,

  SUM(<condition C>) AS count_C,

  ...

FROM mytable

這使您可以運行一個查詢來掃描表一次,同時“計算”具有不同條件的行。


一旦您了解了 SUM() 的技巧,它就非常簡單,并且可以輕松向查詢添加更多列以獲取其他類型的計數。


查看完整回答
反對 回復 2023-09-06
  • 1 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號