Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MySQL中的数据库每日计数器_C#_Mysql_Sql_Sql Update_Database Schema - Fatal编程技术网

C# MySQL中的数据库每日计数器

C# MySQL中的数据库每日计数器,c#,mysql,sql,sql-update,database-schema,C#,Mysql,Sql,Sql Update,Database Schema,我想在MySQL数据库中创建计数器,存储特定日期、月份和年份中每个产品的视图数 问题是我有大约2000种产品。我考虑使用以下模式: id (BIGINT) year (INT[4]) month (TINYINT) day (TINYINT) product_id (INT) pageviews (BIGINT) 该解决方案的问题是,如果在最坏的情况下,每天都查看每个产品,那么我的数据库中每天将有2000行。乘以36天,我每个月将有72000天 我想知道是否有更好的方法来实现这一点

我想在MySQL数据库中创建计数器,存储特定日期、月份和年份中每个产品的视图数

问题是我有大约2000种产品。我考虑使用以下模式:

 id (BIGINT)
 year (INT[4])
 month (TINYINT)
 day (TINYINT)
 product_id (INT)
 pageviews (BIGINT)
该解决方案的问题是,如果在最坏的情况下,每天都查看每个产品,那么我的数据库中每天将有2000行。乘以36天,我每个月将有72000天

我想知道是否有更好的方法来实现这一点。我认为日常数据将只作为应用程序变量(在.NET中开发)和ArrayList保存在内存中。如果我选择这个方向,我将拥有更少的行/数据,每月2000行

我真的想保持每天累积的页面浏览量。顺便说一句,预览只是为了说明,我将存储不同的数据,但这些数据将非常频繁地更新

如果我使用daily专栏,它会经常更新,几乎每2-5秒更新一次。我打算通过从Javascript调用ASP.NET Web服务来更新MySQL async,传递产品id并增加计数器+1。这是为了防止应用程序等待更新发生

我还想知道估计表的大小。如果我做对了:

BIGINT=8字节

Datetime=10字节

INT-4字节

^如果我决定使用datatime列而不是年/月/日

30字节*2000=60000字节

60KB(约)*30天=180KB月

180KB月*12个月=2160KB/年


我做对了吗?

好的,我在数据库设计方面不是很好,但我知道很多。。。 你应该问问自己,你想把这些2K产品的每日点击量保存多久

如果你只想拿着它们一周,那么你可以计算它的大小(如果你想拿着它们一个月的话)

如果您想将其保存一个月,那么您可以每月创建一个表,并将每日点击量的数据保存到该表中,然后将其汇总,这样每个表中只有2K行

或者,您可以使用一个“仓库”表,该表将保存每个月的所有点击次数,并且在您对每个月的数据进行汇总后,每个月的数据都将复制到该仓库表中

如果您希望无限期地保存这些点击,那么据我所知,这是一种方法(同样不是数据库设计大师)

同样,如果你想保存一个月的点击率,这也是你应该做的

希望我能帮助你,
Sagi.

好的,我在数据库设计方面不是很好,但我知道很多。。。 你应该问问自己,你想把这些2K产品的每日点击量保存多久

如果你只想拿着它们一周,那么你可以计算它的大小(如果你想拿着它们一个月的话)

如果您想将其保存一个月,那么您可以每月创建一个表,并将每日点击量的数据保存到该表中,然后将其汇总,这样每个表中只有2K行

或者,您可以使用一个“仓库”表,该表将保存每个月的所有点击次数,并且在您对每个月的数据进行汇总后,每个月的数据都将复制到该仓库表中

如果您希望无限期地保存这些点击,那么据我所知,这是一种方法(同样不是数据库设计大师)

同样,如果你想保存一个月的点击率,这也是你应该做的

希望我能帮助你,
Sagi.

你真的应该使用
日期
列来存储年、月和日。由于您每天都需要每个产品的数据,我认为没有更简单的解决方案。它会更高效、更高效吗?它可能会更高效,但更重要的是它会让您的生活更简单:)您的月份有36天?您真的应该使用
日期
列来存储年、月和日。由于您每天都需要每种产品的数据,我认为没有更简单的解决方案。它会更高效、更高效吗?它可能会更高效,但更重要的是它会让您的生活更简单:)您的月份有36天?