我正在尝试执行一个在循环中多次调用“INSERT”命令的存储过程。我想加快插入过程并尝试为此使用“RAM DISK”。让我知道在 MySql 中处理此类问题的方法。
我在windows 32bit环境
我正在尝试执行一个在循环中多次调用“INSERT”命令的存储过程。我想加快插入过程并尝试为此使用“RAM DISK”。让我知道在 MySql 中处理此类问题的方法。
我在windows 32bit环境
我有一个 ram 磁盘方法可以帮助您创建一个 MySQL 插件,它将您的数据转储到 ram 磁盘文件中,并且您的存储过程可以使用这个 ram 磁盘文件进行查询操作。
创建具有以下功能的 MySQL 插件。
停止 MySQL 服务器,将插件二进制文件复制到 mysql 上的插件文件夹中,然后重新启动 MySQL 服务器。
在 MySQL 中创建函数以公开插件 API。
CREATE FUNCTION add_info_to_ramdisk 返回 int SONAME 'yourPluginName.dll'; CREATE FUNCTION get_ramdisk_filename RETURNS String SONAME 'yourPluginName.dll';
更新您的存储过程以使用插件 API 并将数据填充到 ram-disk 文件中。
利用 ramdisk 文件来提高查询性能。
让我知道这是否会帮助你。
你可以试试 CreateFileMapping。CreateFileMapping 函数返回文件映射对象的句柄。此句柄将在创建文件视图时使用,以便您可以访问共享内存。当您调用 CreateFileMapping 时,您指定对象名称、要从文件映射的字节数以及映射内存的读/写权限。调用 CreateFileMapping 的第一个进程创建文件映射对象。
有关更多详细信息,请参阅此链接
请记住:为确保其他进程无法写入映射的文件部分,您应该以独占访问权限打开文件。