gpt4 book ai didi

MySQL LOAD 数据性能

转载 作者:行者123 更新时间:2023-11-30 01:18:02 25 4
gpt4 key购买 nike

我有一个 MySQL 表

`id` bigint(20) NOT NULL AUTO_INCREMENT,
`stn_num` int(11) NOT NULL,
`rec_time` datetime NOT NULL,
`pval` float NOT NULL,
`sig` float DEFAULT NULL,
`bval` float DEFAULT NULL,
`rmode` char(1) NOT NULL,
`rserver` char(2) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`data_flag` tinyint(4) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

mysql 5.6.12 刚刚安装并具有默认配置。我尝试使用 LOAD DATA 将数据插入到表中。

LOAD DATA LOCAL INFILE 'dt1500.txt' IGNORE INTO TABLE my_data FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (stn_num,rec_time,pval,sig,bval,rmode,data_flag)

插入 1500 条记录花了 55 秒。该表有 512000 条记录。考虑到我在实时数据库中可能有更多记录,而且我需要有一个唯一的键和另一个索引,我想所花费的时间太长了。我暂时删除了这两个,只是为了简化问题。请建议我如何提高 MySQL 的性能。安装后我没有对MySQL配置进行任何更改

最佳答案

  1. 尝试禁用索引

    -- before import
    ALTER TABLE `my_data` DISABLE KEYS;

    -- after import
    ALTER TABLE `my_data` ENABLE KEYS;
  2. 您还可以关闭某些选项:

    -- before import
    SET FOREIGN_KEY_CHECKS = 0;
    SET UNIQUE_CHECKS = 0;
    SET AUTOCOMMIT = 0;

    -- after import
    SET UNIQUE_CHECKS = 1;
    SET FOREIGN_KEY_CHECKS = 1;
    COMMIT;
  3. 您使用的是什么类型的电脑?这是虚拟机、网络服务器还是家用计算机? 55 秒内 1500 条记录非常慢,即使使用索引、自动提交和所有检查,它应该运行得更快。也许你的磁盘驱动程序有问题并且磁盘在 PIO 模式而不是 DMA 模式下工作?

关于MySQL LOAD 数据性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18855442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com