首页 >

mysql批量insert数据速度慢,mysql取得记录数

mysql事务mvcc,mysql表 增加列,navicat for mysql激活工具,odps数据格式mysql,mysql删数据卡死,mysql取得记录数

mysql批量insert数据速度慢,mysql取得记录数

1. 数据库引擎选择不当

默认情况下MySQL使用InnoDB引擎,该引擎使用的是行级锁,可以提供更好的并发性能,但相比MyISAM引擎可能更慢。考虑到批量插入的大量写入操作,选取MyISAM引擎可能更适合。
例如:
ALTER TABLE `table_name` ENGINE = MyISAM;

2. 未开启事务

默认情况下MySQL不会自动开启事务,如果未来必须回滚,将会执行大量的撤销操作,这会浪费大量时间。
例如:
START TRANSACTION;
INSERT INTO `table_name` VALUES (1,2,3);
INSERT INTO `table_name` VALUES (4,5,6);
......
COMMIT;

3. 单次插入条数过多

一次插入太多数据会导致单个事务过于庞大而无法轻松处理。为了缓解这种情况,建议拆分插入操作,例如每次插入1000条数据。
例如:
START TRANSACTION;
INSERT INTO `table_name` VALUES (1,2,3),(4,5,6),...(999,998,997);
COMMIT;
START TRANSACTION;
INSERT INTO `table_name` VALUES (1000,1001,1002),(1003,1004,1005),...(1999,2000,2001);
COMMIT;

4. 开启MySQL慢查询日志

如果插入数据时慢查询日志开启,则在日志中记录数据插入的详细信息,从而有助于找出性能问题。
例如:
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL slow_query_log_file = '/var/log/mysql/slow-query.log';

以上是可能导致MySQL批量插入数据速度慢的一些原因。如果你在进行MySQL数据插入时遇到问题,可以参考以上建议进行调整,以优化性能。


  • 暂无相关文章