我们有一个基于PHP的web应用程序,允许上传CSV文件。这些具有250万行的CSV文件将导入到MariaDB中的表中。我们如何使这个导入既安全又有效呢?
FILE特权,以便他可以使用LOAD DATA INFILE读取文件。但是,这是有风险的,因为守护进程中存在其他数据库。INSERT INTO命令处理将更安全。然而,这是缓慢和耗时的。这里的最佳做法是什么?使用底层操作系统及其bash也是一种选择。谢谢!
发布于 2023-05-17 00:37:32
加载数据信息本地是另一个避免需要FILE特权的选项,但是它确实需要连接上的一个特定选项。见示例。
如果将其加载到新表中,则如果为会话设置了10.7+和unique_checks=0,则foreign_key_checks=0将具有D4。
如果数据是面向分区的,改变桌子...转换表...隔断是将新表移动到分区中的一种方法。
在服务器上,确保您有足够的诺姆b_日志_文件_大小来覆盖导入和诺姆b_缓冲器_池子_大小的大小,否则当服务器刷新内容/释放其他池元素时,导入可能会停止。
https://dba.stackexchange.com/questions/327129
复制相似问题