0
我有這些疑問:MySQL查詢計算列
SELECT a.Id, a.Name, (SELECT COUNT(Id) FROM b WHERE b.IdTableA = a.Id) AS Num
FROM a
ORDER BY a.Name
B表對錶FK一(IdTableA) 在這種情況下,是有效的?有沒有其他方法可以做到這一點?
的另一個問題是:
SELECT client.Id, client.Name
,(SELECT SUM(projects) FROM projects WHERE IdClient = client.Id) AS projects
FROM client
這件怎麼樣?
有時候我們需要使用一個以上的計算列(SELECT SUM),甚至10或15
我們非常擔心,因爲表項目的表現可能有超過50萬分的記錄。
我讀過將那些SUMS存儲在表中,並在數據更改時更新該表可能會更好地提高性能。但是,這不利於標準化...
請幫我這兩個查詢...
感謝
你已經回答了你的問題。如果您想對其進行優化,請將SUMS存儲在表中,並在數據更改後進行更新。規範化不存在妨礙數據庫設計。最後,計算機爲人們服務,你不必遵守準則,就好像你的生活依賴於它。如果我是你,我會存儲SUM並查詢它們,而不是統計每條記錄的行數。 –