【发布时间】:2011-05-03 14:22:17
【问题描述】:
假设我正在开发一个具有单个数据库服务器和多个应用程序服务器的应用程序,其中添加应用程序服务器既便宜又容易,但很难扩展数据库。假设我想从数据库中检索一些需要排序的信息。在其他条件相同的情况下,我似乎更喜欢在应用程序服务器上进行排序,因为这会将负载从难以扩展的数据库中转移出去。
现在肯定有一些情况下,在数据库服务器上进行排序是不费吹灰之力的:
- 为了获得正确的结果集,必须进行排序。例如,如果我想要根据某个标准排在前 N 位,我显然必须在知道我想要哪些行之前进行排序。在应用程序服务器上排序不是一个选项(除非我愿意吸收整个表,这通常不是我想要做的)。
- 有一个索引支持我的排序顺序。在这种情况下,数据库服务器上的排序基本上是免费的。
但除此之外,我通常更喜欢在应用程序服务器上进行排序是否正确?除了上面列出的情况之外,我还应该考虑一些情况吗?
【问题讨论】:
标签: database n-tier-architecture