我正在开发一个Web2项目,希望用户每天能够产生数千条数据。为了处理这么大的数据量,我设计了一个数据库,包含一个 .mdf 和一个 .ldf 文件作为小型数据库以及一个主数据库,用于保存和查询用户账户和数据库文件地址。
我已经为这个计划工作了几个月,现在可以轻松地管理它。我想知道处理大量独立数据的好方法是什么?您认为打开许多小的 .mdf 文件连接还是只需要一个巨大的数据库性能更好?
之后,我将把 mdf 数据库分成几台计算机来管理。它们都使用 C# 和 Linq (.Net4) 进行处理。
我建立了这个计划,效果很好。例如:打开每个小的 .mdf 文件需要 1 秒钟的时间,并且在 0.0 秒的时间内对其进行查询。这样可以为每个连接制定静态时间。但是在单个拥有 50 行数据的数据库中,系统必须在大约 200,000 行数据中找到它们,并且使用简单的主键选择查询需要花费约 4-5 秒的时间。
例如,我想要获取位于 500,000 行之间的一行,以绑定页面内容,并选择在 2milmions 行之间的 50 条评论,并获取每个评论的投票数、每日、每周、每月和总计的浏览次数,以及点赞数、评论回复等数据,这些查询都比小的从数据库查询花费更长的时间。
我认为一个良好的设计和过程对系统来说应该很容易。唯一的问题是小型从数据库使用 SQL server 文件会占用更多的物理空间,大约每个数据库需要 3MB 的大小。
我已经为这个计划工作了几个月,现在可以轻松地管理它。我想知道处理大量独立数据的好方法是什么?您认为打开许多小的 .mdf 文件连接还是只需要一个巨大的数据库性能更好?
之后,我将把 mdf 数据库分成几台计算机来管理。它们都使用 C# 和 Linq (.Net4) 进行处理。
我建立了这个计划,效果很好。例如:打开每个小的 .mdf 文件需要 1 秒钟的时间,并且在 0.0 秒的时间内对其进行查询。这样可以为每个连接制定静态时间。但是在单个拥有 50 行数据的数据库中,系统必须在大约 200,000 行数据中找到它们,并且使用简单的主键选择查询需要花费约 4-5 秒的时间。
例如,我想要获取位于 500,000 行之间的一行,以绑定页面内容,并选择在 2milmions 行之间的 50 条评论,并获取每个评论的投票数、每日、每周、每月和总计的浏览次数,以及点赞数、评论回复等数据,这些查询都比小的从数据库查询花费更长的时间。
我认为一个良好的设计和过程对系统来说应该很容易。唯一的问题是小型从数据库使用 SQL server 文件会占用更多的物理空间,大约每个数据库需要 3MB 的大小。