嘿傢伙,我在另一個問題中發佈了這個問題,但我沒有得到有用的迴應。部分原因是我不認爲我正確地解釋了自己。所以即將去嘗試一次。mysql大查詢問題
我一直在編程一個後端服務器在VB.NET和它一直使用MySQL數據庫來存儲信息。直到兩天前,我一直使用虛擬主機的mysql服務器來做到這一點。
我不介意續訂我的網絡主機,所以我把所有的東西都搬到了家庭服務器上,以繼續處理我的程序。我已經安裝了MySQL 5.5(這是一個較新的版本,然後是我以前的網絡主機上的版本),除了目前爲止的一件事外,一切都運行良好。
這個程序第一次啓動時會發送一個關於一百萬張大表插入的查詢。該查詢看起來像「INSERT into blah
VALUES(1,1,1,1,1); INSERT into ....」等等。這用於我的網絡主機(我有我的服務器程序運行在我的家庭服務器機器上,它通過網絡發送到網絡主機的MySQL的大約5-10分鐘左右)。
現在做本地一切我希望這會更快,但它並不重要,我只是需要它的工作。所以當我發送這個查詢時,它只會鎖定一分鐘左右,然後返回一個超時。當我檢查數據庫中的表時,每次我嘗試這個時,它已經加載了1000個項目。
現在我假設這是一些設置問題,但是我已經玩過我的「my.ini」,看看它是否會有所幫助,它沒有。我曾嘗試切換到一些預包裝的my-huge或my-innodb等,這些都沒有幫助。我會假設如果有什麼需要花費更長的時間或更長的時間,不僅僅是在1000次插入之後立即超時。
而只是使用一些背景信息的服務器計算機IM有一個四核酷睿i7,8GB的內存,並在它的1TB高清運行Windows 7
任何幫助將是巨大的謝謝你。
爲什麼不生成csv文件並使用加載數據infile - 對innodb表一百萬行需要大約40秒才能加載。 – 2011-04-23 17:37:48
插入百萬條記錄?什麼...即使某種「控制」記錄填充查找表等這樣的第一次.. – DRapp 2011-04-23 19:26:22