Firebird 是否将索引与删除表分开删除?

Firebird 是否将索引与删除表分开删除?,firebird,Firebird,Firebird:对于包含许多索引(主索引和次索引)的大型表,是否会在删除表之前分别删除索引,比让Firebird在删除表中删除索引更快?我认为不会有太大的区别! 删除索引应该是即时的,也应该删除表 你试过了吗?我怀疑这并没有什么区别,因为服务器将执行相同的操作,除了一个是单个命令,另一个要求您执行单独的命令(这有其自身的开销,如网络往返等)。现在我的表没有那么大,我看不出有什么区别,但是我们的几个客户会有很多桌子。删除将在数据库更新方案中发生。未记录数据定义语言。这就是为什么它应该是即时的。一

Firebird:对于包含许多索引(主索引和次索引)的大型表,是否会在删除表之前分别删除索引,比让Firebird在删除表中删除索引更快?

我认为不会有太大的区别!
删除索引应该是即时的,也应该删除表

你试过了吗?我怀疑这并没有什么区别,因为服务器将执行相同的操作,除了一个是单个命令,另一个要求您执行单独的命令(这有其自身的开销,如网络往返等)。现在我的表没有那么大,我看不出有什么区别,但是我们的几个客户会有很多桌子。删除将在数据库更新方案中发生。未记录数据定义语言。这就是为什么它应该是即时的。一些异国情调的数据库记录了DDL,但我不认为firebird是其中之一。所做的唯一操作是从表和索引以及空间分配中删除系统表中的条目。我在谷歌上搜索了一下,这篇文章让我有点担心:我知道,例如SQL Server对大型表使用延迟删除,但是我对FireBird一无所知。@Jandogen用例是什么?删除表通常是更新过程的一部分,如果删除表需要一段时间,这真的很重要吗?如果它是正常应用程序逻辑的一部分,您可能需要查看全局临时表。删除和重新创建表通常是快速批量删除的一个用例。通常,您还有truncate,它也被归类为DDL,但只会删除存储。