1
我需要填寫一個數據庫,數以百萬計的記錄,我對於目前的常規看起來像:SQLite的:防止碎片
For I = 1 to 10000000
INSERT INTO TABLE1 ...
INSERT INTO TABLE2 ...
INSERT INTO TABLE3 ...
Next
我注意到記錄也出現在此順序(交替)數據庫文件在磁盤上。當我這樣做時,性能是否會有所提高:
For I = 1 to 10000000
INSERT INTO TABLE1 ...
Next
For I = 1 to 10000000
INSERT INTO TABLE2 ...
Next
For I = 1 to 10000000
INSERT INTO TABLE3 ...
Next
對於查詢性能,數據在磁盤上的結構如何?
爲什麼不直接導入一個csv(或tsv等)文件到表中? – 2011-10-13 17:12:41
@JackManey因爲源數據不是這種格式。將它轉換爲CSV很容易,但我怎麼才能導入它,而不必先寫入磁盤(瓶頸)? – Muis
如果您將記錄插入到SQLite數據庫中,那麼您**將它們寫入磁盤。爲什麼不通過將記錄寫入磁盤然後導入一個批次(或者,如果需要,將一些記錄寫入文件,將其導入並以較小批次重複)來讓自己更容易? – 2011-10-13 17:46:03