2012-02-15 21 views
0

假設您擁有數百萬件物品(比如說搜索結果),並且您有不同的參數用於對這些物品進行分類(例如在電子商務網站中)。我們將使用分頁顯示項目。爲不同參數排序項目的有效方法?

讓我們說它可以按日期,受歡迎程度和相關性排序,結果分頁。你將如何實現這個功能?通常我會爲參數創建不同的比較函數並相應地得到結果。

如果還有其他有效的方法來獲得這種功能,而不是每次都對搜索結果進行排序嗎?另外,我們是否每次都使用相關的命令參數運行sql查詢,還是應該對前一個查詢的搜索結果進行排序,以免我們重新搜索時間?

+0

你是什麼意思,「一次又一次訴諸結果」?你的意思是實際得到結果,然後對它們進行排序?爲什麼不只是構造數據庫查詢來按每個參數排序呢? – Colleen 2012-02-15 19:10:41

回答

1

「如果還有其他有效的方法來獲得這種功能,而不是每次都對搜索結果進行排序嗎?」

我會說你不需要排序每次,但有適當OrderBy參數執行SQL查詢,分頁,並顯示給用戶

「另外,做我們一般使用的相關命令的參數運行SQL查詢每次或我們應該對先前查詢的搜索結果進行排序,以免我們重新搜索時間?「

當然,您需要生成一個新的SQL查詢,因爲基於新訂單參數的第一頁數據可以包含完全不同於前一個數據的一組數據。

相關問題