mysql 数据库提高数据插入效率主要可以考虑以下方面:
- 使用批量插入数据的 SQL 语句,避免使用 for 循环逐条记录插入。
- 所有插入语句共用一个事务,避免1条SQL语句开1个事务,所有操作都完成后再提交事务。
-
尽量按照索引递增顺序插入记录,以避免频繁的调整索引。
- 控制事务大小。插入的数据量不要超过 innodb_log_buffer_size 配置属性的值,超过这个值会导致 InnoDB 把数据刷到磁盘中,进而影响插入效率。如果数据量太大,可以将大数据插入操作拆分成多个较小的事务。
MySQL 的数据 CRUD 操作性能指标:(以千万级别数据为例)
主键:1 - 10 毫秒
唯一索引:10 - 100 毫秒
非唯一索引:100 - 1000 毫秒
无索引:百万条数据 1000+ 毫秒