【发布时间】:2015-11-21 05:55:33
【问题描述】:
我想对来自 sql 数据库(mysql 或 sql server)的结果进行排序。但是有不止一列,例如每一列都有不同的权重来排序
SELECT F1,F2,F3 FROM mytable ORDER BY (F1*2+F2*7+F3)
但我担心处理时间太长,因为我的数据库可能有数百万条记录,所以对这么多数据进行排序并为所有记录计算公式可能会非常慢,我怎样才能更快地做到这一点??
编辑:这些重量数字不是恒定的
【问题讨论】:
-
您可以添加一个新的索引列 weight 并创建一个触发器来计算每次插入/更新时的值。然后只需按重量排序。
标签: mysql sql-server logic