我正在创建一个CSV-importer,用于加载MariaDB 10.3.23数据库中的CSV-file。为此,我在带有PHP 7.4的Laravel 7环境中使用了以下代码:
$query = <<<eof
LOAD DATA LOCAL INFILE '$this->filePath'
INTO TABLE `$tableName`
$characterSet
FIELDS TERMINATED BY '$this->delimiter'
ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES;
eof;
DB::connection()->getpdo()->exec($query);我正在使用ploi.io部署和监控我的网站,它在监控页面上显示了以下屏幕:

当我重新启动MariaDB服务时,RAM-display-line占15%,但是每当我启动一个新的导入(因此是一个新的加载数据INFILE)时,RAM的使用量就会增加(这并不奇怪),并且一直保持不变。RAM线高度的差异是由于CSV文件大小的差异造成的。它看起来像是执行了数据加载,并且不会在之后清空用于它的内存。
有什么办法解决这个问题吗?
ps。我不擅长infra/devops,所以如果你们需要更多的信息,请让我知道。
发布于 2020-08-14 11:41:06
执行SHOW TABLE STATUS LIKE 'the_file_name';
然后添加Data_length + Index_length。这是关于消耗的空间量,但没有释放吗?
innodb_file_per_table的价值是什么
https://stackoverflow.com/questions/63371615
复制相似问题