我正在開始一個新項目,而我即將採取最重要的設計決策。什麼是進行動態查詢(使用PHP + MySQL)的最佳方法?
我將與PHP一起創建動態查詢。 (我想爲用戶提供一些類似於MS Excel中的動態表格)。
我有25個表,每個約有4-6列,我將加入取決於用戶選擇(大多數操作將計算AVG,SUM,COUNT等,這取決於某些值的過濾器可能是5到6桌加入)。
我正在思考所有這些JOINS和SELECTS以及GROUP BY,但它看起來將會非常複雜,所以我開始考慮使用視圖來降低動態代碼的複雜性建立查詢。
我還想過在查詢中避免使用GROUPS BY,並在代碼中使用循環和數組計算聚合函數。
我想知道你會推薦哪些方法,或者如果你有任何消化或提示將不勝感激。
這個問題很小很難回答。您在網絡應用程序中執行的大多數查詢都是動態的。 '''SELECT * FROM user u WHERE u.id = {id}'''是一個動態查詢的例子。你想使用框架?或者你所建立的一切都是自定義的?你想使用ORM嗎?你會使用PDO或基本的mysql_query,mysql_connect等功能嗎?你有什麼類型的桌子? – Flukey
那麼,你的問題是什麼?我認爲你不應該試圖爲每種可能的組合提供意見(對於很多工作),也不應該使用PHP來計算值。 MySQL會更快(查詢優化,緩存和PHP不快)。 –
@BenediktOlek - 通過正確的代碼優化,硬件和工具PHP很快。但同意,如果您遍歷數千個項目的數組來構建動態查詢,那麼它不會是最好的方法... – Flukey