Index
載入數據後創建索引總是更快嗎?
我有大量記錄(約 10 億條)需要載入到 MongoDB(實際上是 TokuMX,但無論如何)。我需要在集合上創建大約 6 個不同的索引。載入數據然後創建索引總是更快嗎?當我查看 Mongo 的日誌文件時,似乎 Mongo 在實際開始創建索引之前執行了某種大型操作(可能是行數?),並且它對我創建的每個索引都執行此操作。
載入數據後創建索引總是更快嗎?
如果我等到載入數據後,在後台同時創建每個索引而不是一個一個地創建它們會更快嗎?
過去我們會以這種方式批量載入我們的數據:
- 刪除索引
- 按照建構聚集索引的順序載入數據(即,您以精確的方式導出數據)
- 載入完成後,創建聚集索引
- 接下來,創建任何其他非聚集索引
- 米勒時代(這是在我買不起像樣的啤酒之前)
事實證明,這種方法總是比保留索引更快。但是,這是針對 Sybase 和 SQL Server 的。我想其他系統會類似,但我不能肯定地說。