当前位置: 首页 > 面试题库 >

高效的多SQL插入

司寇善
2023-03-14
问题内容

在一个表(jdbc / connector-mysql数据库)中插入1000行的最佳/最省时的方法是什么?(它是一个缓冲区,每次充满时都需要转储到数据库中)

1-一个自动生成/固定的SQL语句?

2 for (int i = 0; i<1000; i++) { con.prepareStatement(s.get(i)); } con.commit();

3-存储过程

4-通过文件批量插入数据?

5-(您的解决方案)


问题答案:

LOAD DATA INFILE语句可能是提高性能的最佳选择。(来自上面的选项列表中的#4)尽管由于您需要创建中间文件,可能会花费更多的代码来完成您的任务,但将其保存到服务器,然后调用LOAD
DATA将其保存到您的数据库中。

MySql帮助页面引用:

LOAD DATA INFILE语句以非常高的速度将行从文本文件读入表中。



 类似资料:
  • 将excel的大数据导入到MySQL数据库需要很长时间,那么如何提高性能呢? Excel数据喜欢以下内容: 学生表 床单课程 MySQL的表喜欢如下: 学生桌 资源表 图像的浅灰色区域可能会得到改善,但我不知道如何对其进行优化。使用 和字段确定行数据是否唯一<代码>参考id和表中的字段确定行数据是否唯一。

  • 问题内容: 好的,可以说我要插入100行,每行大约有150列(我知道听起来很多列,但是我需要将此数据存储在一个表中)。插入将随机发生(即,每当一组用户决定上载包含数据的文件时),每月大约20次。但是,数据库将在连续负载下处理大型企业应用程序的其他功能。这些列是varchars,int以及其他各种类型。 将这些插入物包装在一个事务中(而不是一次运行一次)的性能增益会变大,变小还是介于两者之间? 为什

  • 问题内容: 想象一下设有 分支机构的 教育中心。该教育中心的 课程 对所有分支机构都是通用的。 分行 *管理员生成的每个课程的每个分支中的 *房间 。例如,管理员输入数学课程的房间数。系统生成3个房间。换句话说,它们受到计数的限制。 每个房间每天有5个可用的教学时间。换句话说,每个教学小时(共5个)将有1个不同的学生组。 学生 -也按分支分组。每个学生都喜欢按周计划()上中学。 一周的1、3、5天

  • 问题内容: 我知道,常见的性能重构是用 我想问一下: 何时才真正使system.arraycopy变得有意义(考虑到这是本机方法调用)。复制小东西是否表示<32有什么好处? 是我的印象,还是不能简单地使用arraycopy复制(有效地)像这样的循环: } 问题答案: 可能是复制阵列最快的方法,但它不会进行深复制。 它还不能在第二个问题中做更复杂的示例。

  • 目前有个需求是要将csv文件内容分别插入到某数据库的两张表中,有一定依赖关系。由于一直是学生本科刚大四没毕业,故实战经验与性能优化经验薄弱 demo信息如下: 两张表分别是角色信息表和用户信息表 角色信息表 学号/工号 姓名 性别 角色(依赖权限表id) 科目表id(依赖于科目表) 用户信息表 uuid 手机号 密码 角色id(依赖于角色信息表) 权限表:老师、管理员、学生 科目表:语、数、英……

  • 我有一个并发哈希映射,我需要在其中更新循环中的值。虽然,并发映射本身是线程安全的,但添加操作不是原子的,因此我需要添加同步块。如果我在这里错了,请纠正我。 问题是是否可以使用锁等更有效地同步此代码?我正在从阻塞队列中获取值。 这是代码: