想请教一下大家,就是比如说我想测试一下批量插入某个 csv 文件到某个数据库的耗时,那么通常情况下这个耗时指的是加载 csv 文件的时间和插入到数据库的总时间,还是仅仅是插入到数据库的时间?
我的感觉是理想情况下是先把数据都先加载到内存中,然后从内存读取数据插入数据库,并且仅记录插入到数据库的时间作为插入的耗时(这样是排除硬盘读取对数据插入的影响)。
但这个问题主要疑惑的地方是,当 csv 文件很大比如说超过内存大小时,我的理解是会用 buffer read 的方式一边读取数据一边插入数据,那么这样 csv 数据读取和写入数据库是混在一起的,那么最终的记录的时间似乎是同时包含 csv 的读取和数据库的写入的。我不太清楚在 csv 数据很大的情况下这个插入的耗时如何记录比较合理。
我的感觉是理想情况下是先把数据都先加载到内存中,然后从内存读取数据插入数据库,并且仅记录插入到数据库的时间作为插入的耗时(这样是排除硬盘读取对数据插入的影响)。
但这个问题主要疑惑的地方是,当 csv 文件很大比如说超过内存大小时,我的理解是会用 buffer read 的方式一边读取数据一边插入数据,那么这样 csv 数据读取和写入数据库是混在一起的,那么最终的记录的时间似乎是同时包含 csv 的读取和数据库的写入的。我不太清楚在 csv 数据很大的情况下这个插入的耗时如何记录比较合理。
