我有一个SQLITE数据库。 我使用System.Data.Sqlite
我有下表:
CREATE TABLE [DYN_record_player] (
[id_player] INT NOT NULL,
[tournament] SMALLINT NOT NULL,
[tournament_phase] TINYINT NOT NULL DEFAULT 0,
[type_record] TINYINT NOT NULL,
[value] SMALLINT NOT NULL,
[player_team] INT,
[versus_team] INT,
[date] INT,
CONSTRAINT [sqlite_autoindex_DYN_record_player_1] PRIMARY KEY ([id_player], [tournament], [tournament_phase], [type_record]));
CREATE INDEX [rec.joueur] ON [DYN_record_joueur] ([id_joueur]);
当用户使用我的应用程序时,它会填充数据库(从开头的20k行到~100万): 每场比赛每个球员分为2/3/4阶段,每个阶段他有10种类型的记录有价值。
tournament_phase is always < 10
type_value is always < 100
tournament is always < 1000
你可以想象这会增加数据库的文件(从10mo到80,不仅是这个表,而且主要是)。
如何减少每行的尺寸?
我没有找到任何答案,每个主题都在谈论VACUUM。是的,我使用真空但不是重点,使用VACUUM后我的数据库是80mo。