使用年度数据设计数据库,每天更新

use*_*597 0 .net c# database sqlite

所以我正在使用SQLITE在C#中编写一个应用程序,它将跟踪我公司的销售数据.我们目前跟踪12个月(包括当前的)销售数据,并每天跟踪它.我打算能够及时比较两点(或更多)之间的销售数据,这是我迄今为止设计的数据库.它由两个表组成:

salesIndex是一个包含两列的表,一个唯一的id和一个表示时间戳的文本.这是一个主表,列出我们跟踪销售数据的所有时间.

salesData是一个包含7列的表,第一列是上一个表中的id,第二个是销售日期,接下来的5个是描述销售类型(即数量等)的整数.

我担心的是,如果我们每天每天都这样做,那么每年约有133,000个表,并且我们将数据存储3年,所以行数约为400k,我想从中检索数据会有些慢.有没有更好的方法来为此设计数据库?我想也许我应该每天创建一个表来跟踪我们的销售情况,如果我们想要查看销售数天,我们只会查询每个表而不是一个巨大的表?任何帮助表示赞赏:)

Bra*_*vic 6

请不要创建那么多表.你不仅会遇到维护困难,还会损害你的表现.

只需要一个具有正确标识行的销售表(在您的情况下可能意味着添加date到主键).假设您正确使用了索引,即使有4 亿行,性能也会很好,更不用说40万行了.

典型的索引实现为B树,其高度(以及因此速度)以行对数取决于行数.实际上,这意味着即使在大量数据上,正确设计的索引也能立即工作.