gpt4 book ai didi

python - 如何有效地将动态列表存储到 MySQL 列中?

转载 作者:行者123 更新时间:2023-11-29 05:46:02 26 4
gpt4 key购买 nike

我想将一个数字列表和一些其他字段一起存储到 MySQL 中。列表中的元素数量是动态的(有时它可以容纳大约 60 个元素)

目前我正在将列表存储到一个varchar类型的列中,并进行了以下操作。

e.g. aList = [1234122433,1352435632,2346433334,1234122464]

在存储的时候,aList被转换为字符串,如下所示

aListStr = str(aList)

并且在阅读时,字符串被转换回列表,如下所示。

aList = eval(aListStr)

大约有 1000 万行,由于我存储为字符串,因此占用了大量空间。最有效的方法是什么?

另外,存储字符串列表而不是数字的有效方法应该是什么?

最佳答案

由于您希望存储整数,一种有效的方法是将它们存储在 INT/DECIMAL 列中。

创建一个额外的表来保存这些数字并添加一个 ID 列以将记录与其他表相关联。

Also what should be the efficient way for storing list of strings instead of numbers?

除了我所说的,您还可以将它们转换为 HEX 代码,这将非常简单并且占用更少的空间。

请注意,较大的 VARCHAR 可能会对性能产生不良影响。VARCHAR(2) 和 VARCHAR(50) 在完成诸如 sotring 之类的操作时确实很重要,因为 MySQL 根据 VARCHAR 最大大小为它们分配固定大小的内存片。当这些切片太大而无法存储在内存中时,MySQL 会将它们存储在磁盘上。

关于python - 如何有效地将动态列表存储到 MySQL 列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1917106/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com