Hibernate本机查询INSERT的100k记录需要太多时间

时间:2018-09-11 16:40:23

标签: mysql spring hibernate

我正在使用Spring Boot 2.x,Spring DATA REST,Hibernate创建REST服务器。 我从100k条记录的csv文件创建了一个导入。不幸的是,我无法达到体面的价值。 导入大约需要150秒。

我的代码背后的想法是将数据分成较小的块(在我的测试中,最大大小为250)并为每个块创建并提交事务。

public int bulkInsert(Collection<OphthalmicLens> lenses) {
        StopWatch stopWatch = new StopWatch();
        StopWatch stopWatchQuery = new StopWatch();
        StopWatch stopWatchParameters = new StopWatch();
        stopWatch.start();
        int totalRecordsUpdated = 0;
        try {
            String insert = "INSERT INTO OphthalmicLens (`createdBy`,`createdDate`,`lastModifiedBy`,`lastModifiedDate`,`sid`,`version`,`manufacturer`,`manufacturerCode`,`name`,`sku`,`upc`,`cylinder`,`design`,`diameter`,`index`,`material`,`source`,`sphere`,`type`) VALUES ";
            String[] values = { "" };
            String onDuplicate = " ON DUPLICATE KEY UPDATE lastModifiedBy=VALUES(`lastModifiedBy`),lastModifiedDate=VALUES(`lastModifiedDate`)";
            // Query query = entityManager.createNativeQuery(insert);
            String createdBy = springSecurityAuditorAware.getCurrentAuditor().get();

            int i = 0;

            int chunkSize = 250;
            Map<String, Object> params = new HashMap<String, Object>(chunkSize);
            int chunkPage = 0;
            if (lenses.size() < chunkSize) {
                chunkSize = lenses.size();
            }

            for (i = 0; i < chunkSize; i++) {
                if (i > 0)
                    values[0] += ",";
                values[0] += "(:createdBy" + i + ",NOW(),:lastModifiedBy" + i + ",NOW(),UUID()" + ",:version" + i + ",:manufacturer" + i
                        + ",:manufacturerCode" + i + ",:name" + i + ",:sku" + i + ",:upc" + i + ",:cylinder" + i + ",:design" + i
                        + ",:diameter" + i + ",:index" + i + ",:material" + i + ",:source" + i + ",:sphere" + i + ",:type" + i + ")";
            }

            i = 0;
            int totalIndex = 0;
            for (OphthalmicLens lens : lenses) {
                params.put("createdBy" + i, createdBy);
                params.put("lastModifiedBy" + i, createdBy);
                params.put("version" + i, 1);
                params.put("manufacturer" + i, lens.getManufacturer());
                params.put("manufacturerCode" + i, lens.getManufacturerCode());
                params.put("name" + i, lens.getName());
                params.put("sku" + i, lens.getSku());
                params.put("upc" + i, lens.getUpc());
                params.put("cylinder" + i, lens.getCylinder());
                params.put("design" + i, lens.getDesign().toString());
                params.put("diameter" + i, lens.getDiameter());
                params.put("index" + i, lens.getIndex());
                params.put("material" + i, lens.getMaterial().toString());
                params.put("source" + i, lens.getSource().toString());
                params.put("sphere" + i, lens.getSphere());
                params.put("type" + i, lens.getType().toString());

                /**
                 * For every chunk I do a commit, flush and I clean entity manager
                 */
                if (i >= (chunkSize - 1) && i % (chunkSize - 1) == 0) {
                    transactionTemplate.execute(new TransactionCallback<Void>() {
                        @Override
                        public Void doInTransaction(TransactionStatus status) {
                            try {
                                Query query = entityManager.createNativeQuery(insert + values[0] + onDuplicate);
                                stopWatchParameters.start();
                                for (String key : params.keySet()) {
                                    query.setParameter(key, params.get(key));
                                }
                                stopWatchParameters.stop();
                                stopWatchQuery.start();
                                query.executeUpdate();
                                entityManager.flush();
                                entityManager.clear();
                                stopWatchQuery.stop();
                            } catch (Exception e) {
                                log.error("", e);
                                status.setRollbackOnly();
                            }
                            return null;
                        }
                    });
                    params.clear();
                    // log.info("Query for chunk {} executed.", totalIndex / (chunkSize - 1));
                }

                i++;
                totalIndex++;

                // reset index when I change chunk page
                if (chunkPage != (i / chunkSize)) {
                    chunkPage = i / chunkSize;
                    i = 0;
                }

            }

        } finally {
            stopWatch.stop();
            log.info("Import completed in {} seconds.", stopWatch.getTotalTimeSeconds());
            log.info("Query time {} seconds.", stopWatchQuery.getTotalTimeSeconds());
            log.info("Setting params time {} seconds.", stopWatchParameters.getTotalTimeSeconds());
        }
        log.info("Total records updated: {}", totalRecordsUpdated);
        return totalRecordsUpdated;
    }

每个块都创建一个像这样的查询:

INSERT INTO OphthalmicLens (`createdBy`,`createdDate`,`lastModifiedBy`,`lastModifiedDate`,`sid`,`version`,`manufacturer`,`manufacturerCode`,`name`,`sku`,`upc`,`cylinder`,`design`,`diameter`,`index`,`material`,`source`,`sphere`,`type`) VALUES (?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,NOW(),?,NOW(),UUID(),?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON DUPLICATE KEY UPDATE lastModifiedBy=VALUES(`lastModifiedBy`),lastModifiedDate=VALUES(`lastModifiedDate`)

这是Mysql日志的屏幕截图,显示了如何执行查询:

enter image description here

我尝试使用不同的值更改batch_size,但结果变化不大。

这是消耗时间的详细信息:

Import completed in 155.93 seconds.
Query time 89.901 seconds.
Setting params time 22.199 seconds.

我阅读了许多有关该主题的文章,人们声称能够在10到20秒内插入10万行。我真的与那些价值观相去甚远!

您是否有一些建议可以在10到20秒内完成导入?

p.s:我正在将Mysql 5.7用作免费RDS微型实例上的数据库。

0 个答案:

没有答案