我想知道是用MySQL还是用服务器语言处理数据更快。我确信像ORDER这样的原生函数在MySQL中会更快,因为索引、缓存等,但实际上是计算排名(包括返回具有相同排名的多个条目的ties ):
示例SQL
SELECT TORCH_ID,
distance AS thisscore,
(SELECT COUNT(distinct(distance))+1 FROM torch_info WHERE distance > thisscore) AS rank
FROM torch_info ORDER BY rank
服务器
...as不是只做一个SELECT TOR
MySQL服务器5.6.20 (目前最新版本)
按日期表计算价格。我添加了一个新列"Rank",它表示按日期对商品价格的排名。
Date Item Price Rank
1/1/2014 A 5.01 0
1/1/2014 B 31 0
1/1/2014 C 1.5 0
1/2/2014 A 5.11 0
1/2/2014 B 20 0
1/2/2014 C 5.5 0
1/3/2014 A 30 0
1/3/2014 B