MS ACCESS 中的表格比原始 CSV 文件大得多

MS ACCESS 中的表格比原始 CSV 文件大得多

我有一个 CSV 文件,我将其导入到 Microsoft Access 2016 中的一个表中,.accdb 文件中只有一个表。在磁盘上,CSV 文件仅占用 66 MB,而 .accdb 文件占用 105 MB。我对数据库运行了压缩和修复操作,似乎对大小没有影响。我尝试将数据库中的字段数据类型调整为所需的最小值,即整数而不是“长整数”和“短文本”而不​​是“长文本”,但这似乎没有帮助。此外,对 CSV 文件进行 ZIP 压缩只会生成一个 18 MB 的文件,这使得数据库的大尺寸特别令人恼火。

为什么 Access 在存储这些数据时效率如此低下?如何才能减小数据库的大小?

CSV 文件的前几行如下所示:

0,,299-8,08-011-03,22,6,5,80.0,51.16,-0.88,-57.2,-42.91,-63.99,9.07,124.52,-11.22
1,,299-8,08-011-03,22,6,5,80.15,50.01,-0.96,-51.84,-43.7,-66.7,9.12,123.79,-11.21
2,,299-8,08-011-03,22,6,5,80.3,48.83,-1.04,-59.14,-44.03,-69.22,9.16,123.13,-11.18
3,,299-8,08-011-03,22,6,5,80.45,47.97,-1.06,-54.28,-48.42,-71.65,9.24,121.83,-11.19
4,,299-8,08-011-03,22,6,5,80.6,47.03,-1.16,-56.69,-44.96,-74.12,9.27,121.1,-11.09
5,,299-8,08-011-03,22,6,5,80.75,46.14,-1.16,-65.44,-46.2,-76.52,9.36,120.76,-11.08

我在数据库中的表设计如下所示:

数据库中的表设计

答案1

CSV 文件仅存储文本,不存储任何其他内容。数据库表包含有关字段、行、列和数据库本身的元数据。您附上的图片中的数据类型就是证据。除此之外,Access 并不是最高效的数据库引擎,在处理大量数据时尤其糟糕。

所以你知道这不仅仅是你或你做错了什么,这里有我整理的一些示例文件:

在此处输入图片描述

两个文件都有大约 4000 行数据。较大的文件有 10 个字段,包括不同的数字类型和文本长度。较小的文件只有一个文本字段(加上 PK)。

相关内容