python - 为什么我的 sqlite 表文件大小比预期大 10 倍?
问题描述
我有一个大约 1200 万行的 4GB 文本文件。每行都是一个以竖线分隔 (|) 的实体字段值列表。一个实体每行大约有 20 个字段。
我用 Python 将数据插入到一个 sqlite 表中,该表大约 35GB,这很荒谬。那么我做错了什么?
我的表架构是
CREATE TABLE IF NOT EXISTS '{}' (
Entity VARCHAR(255),
FieldName VARCHAR(255),
Value VARCHAR(255),
Code VARCHAR(255),
PermissionID VARCHAR(255),
PRIMARY KEY(Symbol, FieldName, ExchangeCode, PermissionID)
)
因此,例如文本文件中的实体 BOB 将有如下一行:
BOB|AX|33|45|23.2|47|65.3|.....|65|2019-10-23|
注意前 3 个条目是ENTITY|code|PermissionID
在表中看起来像
ENTITY FieldName Value Code PermissionID
BOB 45 23.3 AX 33
BOB 47 65.3 AX 33
...
BOB 65 2019-10-23 AX 33
我只是在阅读线条并通过管道拆分并插入此表,但由于某种原因它变得很大。我知道它有很多行,但是如果文本文件是 4GB,那么一个表怎么能大 10 倍呢?
解决方案
推荐阅读
- wcf - 如何停止发送接受标头?
- react-native - 在最初隐藏然后在用户操作中可见的元素上获取触摸事件
- javascript - 如何一次使用 API 在 Shopify 上创建多个 webhook
- android - Fragment 工具栏上方奇怪的空白区域。如何解决?
- r - How to read all files in S3 folder/bucket using sparklyr in R?
- amazon-web-services - 集成 Amazon Connect Stream API 和 Lambda API 网关
- c# - Expression.Coalesce 的转换参数是什么?
- jquery - 剑道日历获取价值
- iframe - 用户脚本不会在 Facebook “赞” iframe 中执行
- amazon-web-services - 每个 aws 弹性域的索引数