我有一个包含74列和大约60K行的CSV文件。每月必须将此CSV文件的内容导入MySQL数据库。
插入数据后,最终用户可以使用预定义的过滤器查询MySQL数据库的内容。
将所有内容放在一个表中意味着插入速度更快,但读取速度更慢。拆分多个表中的内容(使用外键)意味着插入速度更慢,读取速度更快,而且我认为失败的可能性更高。
您认为对我来说最好的选择是什么,还是有其他可能性?
答案 0 :(得分:0)
无需查看列,我几乎可以保证多个表是可行的。
如果数据库插入时间确实成为一个大问题,那么您可以花一点时间编写一个宏来为您完成。
答案 1 :(得分:0)
如果所有数据关系(总线,客户端和旅行之间)都是1比1且信息在整个CSV中没有重复,那么您可以使用单个表格,原因如下:
SELECT departure, arrival, distance FROM bustrips WHERE distance > 1000
)\ 但是,如果您查看数据,并且CVS中存在大量重复,可能来自同一行程中的多个客户端,或者同一总线用于多次行程等。我会为每个唯一数据块创建一个新表。我可能已经看到的一个例子是公共汽车的新表:
Bus_ID;
Numberplate;
Handicap;
Odometer reading;
我希望这有助于您做出决定。它不是关于“易读”与“易写”关于通过减少冗余来提高信息清晰度。