在數據庫應用中,經常需要對某些特定記錄進行置頂顯示。比如新聞系統中的重要新聞、商品系統中的推薦商品等,都需要在查詢結果中優先展示。
在MSSQL中,可以通過以下兩種方式實現置頂排序:
SELECT * FROM TableName
ORDER BY
CASE WHEN IsTop = 1 THEN 0 ELSE 1 END,
CreateTime DESC
SELECT * FROM TableName WHERE IsTop = 1
UNION ALL
SELECT * FROM TableName WHERE IsTop = 0
ORDER BY IsTop DESC, CreateTime DESC
1. 為IsTop字段建立索引
2. 避免在大數據表上使用UNION ALL
3. 考慮使用計算列優化排序性能
通過合理的索引設計和查詢優化,可以確保置頂排序功能既滿足業務需求,又保持良好的查詢性能。