带有 56.6mb 数据的 CSV,存储为 CSV 文件还是存储在数据库中?
Posted
技术标签:
【中文标题】带有 56.6mb 数据的 CSV,存储为 CSV 文件还是存储在数据库中?【英文标题】:CSV with 56.6mb of data, store as CSV file or in database? 【发布时间】:2015-03-14 02:24:16 【问题描述】:我正在创建一个网站,希望人们在其中提交位置地址。为避免拼写错误,我希望用户从列表中进行选择(镇名、县)。
我遇到了以下站点 http://www.doogal.co.uk/london_postcodes.php,它允许我下载一个 56 mb 的大 csv 文件,其中包含我需要的位置数据。
但是,我以前从未在我的网站上使用过超过 1mb 的 csv 文件,其中包含超过 30000 行数据。通常我只会上传到 PhpMyAdmin。
什么更好?将 csv 文件上传到 PHPmyadmin 数据库或直接使用 php 访问“.csv”文件?
问候
【问题讨论】:
“更好”是主观的,但我希望数据库性能更高。 【参考方案1】:这取决于您想要达到的目标。我不太确定使用 CSV 是否有益,因为使用数据库可以让您
-
缓存数据
为快速搜索创建索引
创建复杂查询
进行数据操作等
我认为 CSV 更好的唯一方法是,如果您始终使用所有数据。否则,我会选择数据库。最终结果会更有条理、更快,并且您可以在此基础上进行构建。
希望这会有所帮助。
【讨论】:
【参考方案2】:如果您要进行查找,我建议您将其放入数据库表中,并在要搜索的字段上添加索引 (https://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html)。平面文件不是存储您必须快速访问或过滤的数据的好方法。
【讨论】:
以上是关于带有 56.6mb 数据的 CSV,存储为 CSV 文件还是存储在数据库中?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 TablePlus 导入带有日语 (utf-8) 的 CSV?
通过 Hue 在 hadoop 中加载大型 csv 只会存储 64MB 块
python - 使用带有大 csv 的 pandas 结构(迭代和块大小)