如何向mysql里的Innodb插入千萬測試數據
代碼如下:
import java.lang.*;
import java.sql.*;
public class InsertTestMysql{
public static void main(String [] args){
java.util.Date now_start = new java.util.Date();
long start_time=now_start.getTime();
int st = 100000;
String str,info;
String db="org.gjt.mm.mysql.Driver";
String host="jdbc:mysql://192.168.1.35/test";
String user="root";
String passwd="root";
Connection con=null;
try{
Class.forName(db).newInstance();
}
如何向mysql數據庫中導入大批量數據?
你雙擊dbf是什么程序打開的?vfp嗎?
你可以使用set
printer
to
file
abc.sql
list
to
print
然后使用一個文本編輯器,如emeditor,編輯這個abc.sql,將內容構造為標準的sql語句:
insert
into
mytable
(a,b,c,d,e)
values
('dbf_field1','dbf_field2','dbf_field3','dbf_field4','dbf_field5')
然后在mysql
administrtor中,將這個abc.sql導入到數據庫中就可以了。
導入時把生成索引給關掉,應該能快一點.
不要一邊導入一邊建立索引.
8G數據,應該也不那么慢了.
把sql語句文件讀取出一部分看看,建表語句中,應當有建立索引的部分,刪掉它!
只做建表和插入數據兩件事.
還有,看看數據庫有沒有外鍵?
盡量在插入數據過程中去掉外鍵關聯.
等數據插入完成之后再加索引和外鍵,應該能提高很多讀寫性能.
截取一部分數據,例如100Mb.
插入一下試試,可以預先對整體時間有一個預期.
還有,真的要弄臺好點的電腦,或者去借一臺,等把數據導入完成之后,把msyql的庫文件直接復制出來放自己機器上跑就好.
emm..
再追加點信息,要先搞明白,sql原文件里,到底都執行了哪幾類操作?
可能需要你用c之類寫點小工具,或者別的什么語言,分塊讀取并處理文件.
8G..
嗯,還好.
現在內存都夠大,否則你都沒法直接用軟件打開了.
只有8G也可以直接用軟件打開看.
停掉索引真的可以大幅度加快插入數據的速度.
建議試一試!
MySQL怎樣快速插入大量測試數據
可以把ip設置成唯一的,也可以在插入之前select一下,判斷是否存在。
相關推薦:
商標糾紛可以申請仲裁嗎(商標使用許可糾紛怎么解決的)
軟件著作權的主體和客體(著作權的主體和客體)
委托作品的著作權人(委托作品著作權歸誰)
冒充專利處罰依據有哪些(申報職稱用假專利 如何處罰)
關于競業禁止的幾個問題(競業限制的法律規定)