我只想知道我有一个包含1000多条记录的表,我还有几个索引。我想从表中删除数据。如果我使用delete或truncate,索引将会发生什么情况。换句话说,如果我们使用这些语句中的任何一个,索引也会被删除。谢谢
发布于 2016-05-19 19:02:27
当您更改或删除表中的数据时,表结构不受此影响。
要更改表结构本身,您必须完全删除该表,或者使用特定命令来更改它,如添加索引或列等。
索引是一种通过构建到数据的优化映射来更快地获取记录的机制。如果记录发生更改,则必须重新生成该映射,或者您可以说已更正。
因此,如果您删除记录,则表的索引将不再正确,因为它与数据不匹配。因此,每当您在表中更改某些内容时,索引都会自动进行调整。
这就是索引使得选择非常快的原因。但是如果您添加了大量的索引,那么插入、更新和删除操作就会变得很慢,因为这些操作需要更新索引。
但是索引定义不会改变--索引包含的数据会改变。跟桌子上的一模一样。通过改变一个表的数据,你不会改变一个表的结构。
https://stackoverflow.com/questions/37321217
复制相似问题