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