2017-06-09 65 views
0

我需要插入超過50,000個200個字段的記錄,並想知道排列插入URL是否很重要,以匹配項目之一。或者將時間微不足道,例如。插入項目在mysql中的順序是否會影響插入的速度

INSERT INTO `wp_realty_listingsdb` (`id`,`fname`,`lname, `age`) 
    values(Joe,Jordan,21); 

    INSERT INTO `wp_realty_listingsdb` (`id`,`age, fname`,`lname) 
    values(1,21,Joe,Jordan); 


    To clarify here is the layout of the data base.. 
    Field 1 = fname 
    Field 2 = lname 
    Field 3 = age 

所以DB具有從左到右的佈局字段但你可以在第二插入看到字段的順序相匹配正在進入的數據卻只有前插入從數據庫中的順序一致左到右。 故事數據巨量的士氣作爲第二個佈局,問題是..如果數據的快速重新排列匹配分貝的順序會節省可測量的時間或沒有...

在心理邏輯上,似乎是如果我排隊200桶,並將橡子放入桶中,當我來到他們身邊時,速度會更快。就像我不必跑到桶155並放下桶,然後回到桶3 ...大聲笑..

有一個簡單的couse速度例子不管用,但會有50,000個橡子和200多個桶...如果沒有人知道,那麼我會設置它並測試以確保。

+0

我沒有任何的參考。但我嚴重懷疑這會對速度產生任何影響。因爲即使您將字段放在同一個訂單上,數據庫引擎也必須檢查並執行到表字段的映射。一旦地圖完成,插入對所有行都是一樣的。 –

+0

實際的表格順序會稍快一些。在你的第一個例子中,你沒有插入id,這導致我相信你已經設置爲自動生成。第二個你指定的ID。所以這有點令人困惑。如果你只插入5萬行,我真的不會擔心在幾毫秒的時間內進行優化。特別是如果它是一次性的事情。 –

+0

如果答案提供了您需要的信息,請點擊答案左側的綠色複選標記以接受答案。這將確保你的問題不會永遠得不到解答,並且是向幫助你的人表示感謝。 –

回答

0

如果交換字段,我認爲不會影響速度。

這將更好地重新安排你的價值觀,以配合原來的順序就像在例子#1,這樣就可以執行單一查詢作爲shownbelow這比在例如#2快,

example#1 
INSERT INTO wp_realty_listingsdb (`id`,`fname`,`lname`, `age`) VALUES(1,'Joe','Jordan',21),(2,'Joe','Jordan',21); 

example#2 
INSERT INTO `wp_realty_listingsdb` (`fname`,`lname`, `age`) values('Joe','Jordan',21); 
INSERT INTO `wp_realty_listingsdb` (`id`,`age`, `fname`,`lname`) values(1,21,'Joe','Jordan'); 

此外,將記錄從MySQL控制檯導入爲SQL文件會更好,而不是通過GUI應用程序上載。 您可以使用下面的命令導入從MySQL控制檯文件,

mysql>use yourdbname; 
mysql>source /path/to/sql/file.sql