我有一個php應用程序顯示3個數據表,每個數據表都來自同一個MySQL表。每個記錄有一個整數字段命名爲狀態可以具有值1,2或3。表1示出了具有狀態的所有記錄= 1,表2示出了狀態= 2個表3示出了狀態= 3效率更高 - 多個SQL查詢或一個查詢和進程在PHP中?
爲了實現這三MySQL查詢可以使用WHERE運行,按狀態進行過濾,每次迭代一組結果以填充這三個表。
另一種方法是,從表中選擇所有,然後通過相同的結果集的一次爲每個表遍歷,使用PHP每次測試的狀態的值。
這些方法之一會比另一個更有效嗎?或者他們中的一個會被認爲比另一個更好?
沒辦法說:基準測試方法和選擇最好的。運行較少的查詢幾乎總是一件好事,但如果將單一查詢轉化爲三個單獨集合所需的後處理過程很痛苦或涉及到,則可嘗試單獨查詢。 – 2014-10-16 14:37:19
我會去得到所有的方法,並按狀態排序記錄。這樣只會執行一個查詢操作。但總是按照Marc B的建議進行基準測試。 – Barry 2014-10-16 14:37:29
對於PHP數組函數可能比mysql更快的多個非常大的表,只有少數非常罕見的情況。但即使如此,它依賴於表,查詢和使用的指標。最好的方法是試着比較結果。 – ToBe 2014-10-16 14:43:53