2016-04-15 38 views
0

我已經創造了超過500桌與幾何列,如何加快用多個表創建空間索引?

它採取了空間索引創建更多的時間插入數據後,我怎麼能創造幾秒鐘之內的所有表空間索引,

有什麼其他加快空間索引創建的方法?

回答

0

你想加快什麼?創建空間索引(= CREATE INDEX命令)?或者插入/更新表格。這些表有多大?你的業務流程可以接受多長時間?

索引通常僅在空間表的初始創建和填充時創建一次。除非您的應用程序是以很短的時間間隔插入大量數據的應用程序,或者用於跟蹤移動對象的應用程序,否則不需要在初始創建後重建索引。他們顯然是自動維護的。

至於構建空間索引的時間,顯然需要比在相同數量的名稱上構建索引更長的時間(有時是顯着的)。很顯然,桌子越大,需要的時間越長。然後,如果您認爲您可以在幾秒鐘內創建500個索引(空間或非空間),即使您使用功能非常強大的硬件並且表格爲空,您也會受到欺騙。

有兩種方法可以讓你建立索引花費更少的時間:

1)對於大表,劃分他們,做並行構建。這隻有在您擁有分區選項時纔有可能(僅適用於EE)。再說一次,這隻適用於大型表格 - 即50萬行以上。在小桌子上沒什麼意義。 2)對於大量的小型表格,只需要並行執行構建,即同時運行多個索引創建。使用數據庫的調度程序(DBMS_SCHEDULER)編排該程序。

如果您正在追求的是如何加速數據攝取(移動對象,跟蹤......),那麼您需要更多地解釋一下您的工作流程。