mysql怎么導千萬數據 mysql導入1000萬數據有什么方法?
mysql生成千萬級數據
1.創建表
成都創新互聯是專業的石龍網站建設公司,石龍接單;提供成都做網站、網站建設,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行石龍網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!
2.創建存儲過程
3.調用存儲過程
表結構很簡單,只有 ID 和 uuid 兩列
存儲過程中的參數 i 是生成的數據條數
在調用存儲過程時,出現的bug如下:
在執行插入操作30s時報錯了
解決方案 :
選擇 mysql workbench 下的 preferences ,如下:
點擊 ok 后,清除之前插入的數據,重新登錄 mysql workbench ,然后重新調用存儲過程即可
怎么快速復制千萬級的Mysql數據庫表
我google了一下大概有一下幾個方法,
1.復制表結構及數據到新表
CREATE TABLE 新表 SELECT * FROM 舊表
2.只復制表結構到新表
CREATE TABLE 新表 SELECT * FROM 舊表 WHERE 1=2
即:讓WHERE條件不成立.
3.復制舊表的數據到新表(假設兩個表結構一樣)
INSERT INTO 新表 SELECT * FROM 舊表
4.復制舊表的數據到新表(假設兩個表結構不一樣)
INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 舊表
批量向MySQL導入1000萬條數據的優化
1.用start transaction關閉mysql的自動提交,合理設置插入批量大小,不要一條數據提交一次。
2.修改表的存儲引擎InnoDB為MyISAM。(因為InnoDB中存在redo log日志,每次更新表的結果先寫入redo log中,等redo log滿了之后再寫入磁盤而這個過程是會停止其他所有的事務)
3.優化SQL(一條SQL語句插入多條數據)
4.盡量順序插入(存儲引擎底層采用的數據結構是B+tree索引,如果每次插入記錄都在索引的最后面,索引的定位效率很高,并且對索引調整較小;如果插入的記錄在索引中間,則需要維護B+tree并且索引定位效率會下降,數據量較大時會有頻繁的磁盤操作)
分享標題:mysql怎么導千萬數據 mysql導入1000萬數據有什么方法?
文章位置:http://www.xueling.net.cn/article/hijdeg.html