有我的服務器上4個本地XML文件,我嘗試所有這些加載到4個MySQL表是這樣的:MySQL的LOAD XML花費的時間太長(系統鎖定)
LOAD XML LOCAL INFILE "file1.xml"
REPLACE
INTO TABLE `table1`
CHARACTER SET "utf8"
ROWS IDENTIFIED BY "<item>"
現在到了怪異的一部分。
3個xml文件加載完美,但其中一個xml文件需要永久加載,並且如果我查看過程中它說「系統鎖定」。我想也許它太大了(600MB),但即使將它分成10塊並加載其中的每一塊,結果也幾乎相同。
這裏是有問題的XML:
<item id="48121384">
<name><![CDATA[BRIDGESTONE Blizzak Dm-v1 XL 285/50R20 116R]]></name>
<shop_id>2465</shop_id>
<category><![CDATA[362195]]></category>
<price>30.67</price>
<country>uk</country>
<product_id>325937</product_id>
<product_pid>395</product_pid>
<ordering>27</ordering>
<img><![CDATA[]]></img>
<href><![CDATA[http://blah.com/price/48121384/p1317/xml/?t=1392794884&u=238221047]]></href>
<description><![CDATA[]]></description>
</item>
,我試圖把它變成(我試過的InnoDB和MyISAM - 同樣的事情)表
field type
id int(11)
name varchar(255)
shop_id int(11)
category int(11)
price varchar(30)
country varchar(30)
product_id int(11)
product_pid int(11)
ordering int(11)
img varchar(255)
href text
description text