2013-08-23 29 views
-1

Firebird:對於具有許多索引(主要和次要)的大型表,會在DROP TABLE之前單獨丟棄索引,會更快,然後讓Firebird刪除DROP TABLE處的索引?將索引與放置表分開放置?

+0

你試過了嗎?我懷疑它沒有什麼區別,因爲服務器將執行相同的操作,除了一個是單個命令,另一個需要您執行單獨的命令(它有自己的開銷,如網絡往返等)。 –

+0

現在我的桌子並沒有那麼大,我可以看到有所不同,但我們的幾個客戶將擁有巨大的桌子。 DROP將在數據庫更新方案中發生。 –

回答

0

我不認爲應該有很大的區別! 刪除索引應該是瞬時的,並且放下桌子!

+0

未記錄數據定義語言。這就是它應該是瞬間的原因。一些奇特的數據庫已經記錄DDL,但我不認爲火鳥是其中之一。 – Gaetan

+0

唯一的操作是從表和索引和空間分配中刪除系統表中的條目。 – Gaetan

+0

我做了一些谷歌搜索,這個帖子讓我有點擔心:http://tech.groups.yahoo.com/group/firebird-support/message/114995 我知道,例如SQL Server對大型表使用延遲刪除,但我不知道FireBird。 –