C# 排名页面-在哪里计算大的东西(数据库或代码)?
我有一个新游戏玩家的排名页面,有一个巨大的数据库:C# 排名页面-在哪里计算大的东西(数据库或代码)?,c#,.net,sql-server,database,C#,.net,Sql Server,Database,我有一个新游戏玩家的排名页面,有一个巨大的数据库: 我们有一个世界 每个世界有X个碎片(~200) 每个碎片有2个派系 每个碎片有X个公会 一个公会有一个碎片,一个派别,当然还有一个世界 一个公会将以杀死一个首领来排名 我将计算公会在世界上的等级,在碎片和派系中。 我只把博斯基尔的分数保存在数据库中 所以我每次打开一个排名显示的站点时都会有一个非常非常庞大的计算。如何使此计算尽可能快 我的想法是创建一个视图,让视图进行计算并只返回信息,或者返回我需要的所有信息并用代码进行计算。我肯定会在您的
- 我们有一个世界
- 每个世界有X个碎片(~200)
- 每个碎片有2个派系
- 每个碎片有X个公会
- 一个公会有一个碎片,一个派别,当然还有一个世界
- 一个公会将以杀死一个首领来排名
我的想法是创建一个视图,让视图进行计算并只返回信息,或者返回我需要的所有信息并用代码进行计算。我肯定会在您的数据库中进行计算。信息就在那里。仅返回需要显示的数据,以减少代码的数据传输和处理器时间 也许可以帮助你从另一个角度来看:
如果您有需要频繁显示的数据,并且计算成本很高,请考虑将该信息存储在数据库列中,并创建一个更新的触发器,或者每次在您的情况下插入该列中的一个BOSS被杀死的记录。 tblRank
UserId | Score | in|u guild(integer)|…我肯定会在您的数据库中进行计算。信息就在那里。仅返回需要显示的数据,以减少代码的数据传输和处理器时间 也许可以帮助你从另一个角度来看:
如果您有需要频繁显示的数据,并且计算成本很高,请考虑将该信息存储在数据库列中,并创建一个更新的触发器,或者每次在您的情况下插入该列中的一个BOSS被杀死的记录。 tblRank
UserId | Score | in|u guild(integer)|…需要传输的数据有多大,计算强度有多大 大数据有利于计算数据库端,因为您可以避免传输所有数据。如果你只是对一些点求和,然后按顺序在数据库中进行排序 计算成本高或复杂,有利于在应用程序中进行计算。因为扩展应用程序比扩展数据库容易得多。当然,在完全支持调试器和IDE的情况下,用代码编写复杂的算法会更好
如果很贵,为什么每次显示排名页面时都要重新计算?要么将信息缓存一分钟,要么在公会获得积分时更新它。需要传输的数据有多大,计算强度有多大 大数据有利于计算数据库端,因为您可以避免传输所有数据。如果你只是对一些点求和,然后按顺序在数据库中进行排序 计算成本高或复杂,有利于在应用程序中进行计算。因为扩展应用程序比扩展数据库容易得多。当然,在完全支持调试器和IDE的情况下,用代码编写复杂的算法会更好
如果很贵,为什么每次显示排名页面时都要重新计算?可以将信息缓存一分钟,也可以在公会获得积分时进行更新。SQL Server内置了各种智能功能(也是一种),而您的应用程序代码却没有。数据库通常也托管在具有合理规格的服务器上,因此如果可能,请在那里进行计算。您还可以考虑使用已经内置的SQL Server。SQL Server内置了各种智能功能(也是一种),而您的应用程序代码没有。数据库通常也托管在具有合理规格的服务器上,因此如果可能,请在那里进行计算。您也可以使用已经内置的SQL Server。Nice,不知道排名函数。Nice,不知道排名函数。