如何向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一下,判斷是否存在。
相關推薦:
事故立案條件(重大責任事故罪的立案條件是什么)
通信商品賠償(工信部賠償500元規則)
樓房著火賠償(樓房著火誰的責任怎么賠償)
報警不想立案(派出所一般不愿意立案的原因有哪些)
誣告導致立案(被誣告而立案了怎么辦)