我有一個已經很大的查詢來選擇產品信息。一切都很好,直到我嘗試創建一個計算列。MySql:創建一個高效的計算列
的想法是,在產品表中包含一個價格列,但價格變化的承諾之前,我創建了一個NEW_PRICE柱像這樣
CASE
WHEN id = 1 THEN (value from $newPrice array)
WHEN id = 2 THEN (value from $newPrice array)
...(ect sql statement continues to be generated from array)...
ELSE NULL END AS new_price
用小newPrice陣列,但是當它工作時,一切都很好包含1,000 +值CASE語句變得非常大,查詢需要很長時間。
有沒有更好的方式做到這一點,而無需物理插入臨時new_price數據,同時仍然創建一個new_price列進行排序?
在此先感謝。
這並沒有分配給'new_price'列,它比較它。 – Barmar
對不起,壞的例子,SQL是什麼時候ID = 1然後9.99 ect。 – BasicallyBoredWithoutAnOffice
您可以將新數據插入臨時表中並加入它 – Vatev