mysql大型查询问题

mysql大型查询问题,mysql,vb.net,Mysql,Vb.net,嘿,伙计们,我在另一个问题中发布了这个问题,但我没有得到一个有用的回答。部分原因是我认为我没有正确地解释自己。所以我要再试一次 我在vb.net中编写了一个后端服务器,它使用mysql数据库存储信息。直到几天前,我还在使用网络主机的mysql服务器来完成这项工作 我不想更新我的网络主机,所以我把所有东西都转移到家庭服务器上,继续我的程序。我已经安装了MySQL5.5(这是一个比我以前的网络主机更新的版本),除了一件事,其他一切都很好地工作 这个程序在第一次启动时发送一个关于一百万个表插入的查询。

嘿,伙计们,我在另一个问题中发布了这个问题,但我没有得到一个有用的回答。部分原因是我认为我没有正确地解释自己。所以我要再试一次

我在vb.net中编写了一个后端服务器,它使用mysql数据库存储信息。直到几天前,我还在使用网络主机的mysql服务器来完成这项工作

我不想更新我的网络主机,所以我把所有东西都转移到家庭服务器上,继续我的程序。我已经安装了MySQL5.5(这是一个比我以前的网络主机更新的版本),除了一件事,其他一切都很好地工作

这个程序在第一次启动时发送一个关于一百万个表插入的查询。查询类似于“INSERT-into
blah
VALUES(1,1,1,1);INSERT-into…”等等。在我的网络主机上,这通常需要5-10分钟左右的时间(我让我的服务器程序在我的家庭服务器上运行,它通过网络将信息发送到网络主机的mysql)

现在在本地做每件事,我希望这会更快,但这并不重要,我只是需要它来工作。因此,当我发送这个查询时,它只会锁定一分钟左右,然后返回一个超时。当我检查数据库中的表时,每次我尝试此操作时,它正好加载了1000项

现在我假设这是一个设置问题,但是我用我的“my.ini”来看看它是否有帮助,它没有。我曾经尝试过切换到一些预先打包的大型数据库或innodb等,但这些都没有帮助。我会假设,如果有任何事情发生,它只会花费更长的时间或其他什么,而不仅仅是在1000次插入后立即超时

我使用的服务器机器有一个四核i7,8gb内存和一个运行Windows7的1tb高清硬盘


任何帮助都将非常感谢。

可能您的查询太大,您可以通过选项调整MySQL行为。 您还可以通过将多个insert查询组合成一个查询来节省一些字节,如:
插入blah值(1,1,1,1,1)、值(2,2,2,2)、值(3,3,3,3)
。但如果这个大型组合查询失败,那么插入中的数据也会失败。
但在我看来,这不是最聪明的方式。如果您的应用程序应该在启动时导入巨大的sql转储文件,那么可以像下面这样使用mysql可执行文件
mysql-uroot-ppassword db_name
,您就完成了。这可能是完成这项任务最有效的方法。

现在同样的查询在我的webhosts mysql上运行,所以你认为我应该能够通过更改max allow packet选项来匹配吗?不知道,只要阅读链接上的文档-如果你有大数据要发送mysql(通常是一些blob)然后你应该增加这个选项。小的修正:他可能想
插入无用的值(1,1,1,1,1),(2,2,2,2),(3,3,3,3,3)
为什么不生成一个csv文件并使用加载数据填充-向innodb表加载一百万行大约需要40秒。插入一百万条记录???为何即使是第一次填充查找表之类的某种“控制”记录。。