2012-08-10 92 views
-1

我的Rails應用程序從網上收集了大量數據,在成千上萬的傳入記錄上運行ETL - 選擇,更新和插入 - 在大約十幾個表的規範化數據庫上。什麼是加快sqlite數據庫性能的最可靠的方法?Rails SQLite性能優化

我已經在我搜索的所有字段上設置索引,並將主循環封裝爲單個事務。

是否有任何其他標準做法,如數據庫設置,這將加快SQLite?

+0

配置文件,看看你的問題真的在哪裏。 – 2012-08-10 10:04:35

回答

0

我不得不不同意其他答案建議你切換到mysql或postgres,而不知道你的代碼爲什麼沒有足夠快地運行。 People tend to agree SQLite can handle large amounts of data in a performance oriented system。我會建議發佈一些你經常使用的一些場景的代碼,並且讓我們看看我們是否可以想到一個更好的方法去做。如果你在SQLite和MySQL中使用相同的缺陷方法,我懷疑你會看到更好的收益。

SQLite能夠非常快速。如果您看到的速度比其他數據庫系統(如MySQL或PostGres)慢,那麼您並未充分利用SQLite的潛力。優化速度看起來是SQLite的作者和維護者D. Richard Hipp的第二優先級。首先是數據完整性和可靠性。瞭解更多關於一些優化,你可以做here

也是你

插入在大宗交易中的數據? ,你應該嘗試和導入數據時訂購 也許甚至考慮重做你的指數在夜間或一段較少的活動

1

如果您有大量數據,SQLite不是一個好選擇。如果你有選擇,切換到mysql或postgres。兩者都易於安裝,應該表現更好。