2013-10-28 23 views
-1

我需要將代碼從.NET遷移到MySQL並尋找模擬記錄集SORT函數。在我的.NET代碼中,很容易創建一個記錄集並在不同的字段上運行多個排序操作。即使對於超過五十萬條記錄的大型記錄,速度也非常快。與.NET記錄集相似的MySQL排序結果

我知道在MySQL中我可以使用ORDER BY子句,但在這種情況下,我將需要運行多個db查詢,這不是從性能角度來看的一個好的解決方案。

如何在不執行多個查詢的情況下對不同字段的查詢結果進行排序? PHP數組排序功能還是有一些更好的選擇?

謝謝!

+0

「我明白,在MySQL中我可以使用ORDER BY子句,但在這種情況下,我需要運行多個db查詢,這不是性能問題的好解決方案。」,你確定這個? :p –

+0

是的。要排序的最大列數約爲50-60,即我需要運行50-60個查詢,每個約0.5秒。 30秒的執行時間是不好的。 – user2723490

回答

1

ORDER BY適用於多個領域。你是這個意思嗎?

SELECT [column list] FROM table 
ORDER BY field1, field2 
+0

不,我需要單獨的排序列 - 在單個字段上,而不是在多個字段上。 – user2723490

+0

我不確定我們能否爲您提供更多幫助,而無需瞭解數據的結構 – Machavity

+0

查詢返回50-60列。然後我需要對每個按價值排序的列進行一些數學運算。在.NET中,我可以逐個排序返回的記錄集的字段,這比運行多個查詢或排序數組要快得多。因爲在MySQL中沒有可以對查詢結果進行排序的類似功能,所以我看到的唯一解決方案是將結果轉儲爲二維數組,並使用PHP數組排序函數。 – user2723490