我只是想知道我有一个包含1000多条记录的表,而且我还有一些索引。我想删除表中的数据。如果我使用delete或truncate,索引会发生什么。换句话说,如果我们使用任何这些语句,索引也会被删除。 感谢
答案 0 :(得分:0)
当您更改或删除表中的数据时,表结构不受此影响。
要更改表结构本身,您必须完全删除表或使用特定命令(例如添加索引或列等)来更改表。
索引是一种通过为数据构建优化映射来更快地获取记录的机制。如果记录被更改,则必须重新生成地图,或者您可以说更正了。
因此,如果删除记录,则表的索引不再正确,因为它与数据不匹配。因此,当您在表格中更改某些内容时,索引会自动进行调整。
这就是索引选择速度非常快的原因。但是如果你添加了很多,那么插入和更新以及删除都会变慢,因为索引需要在这些操作上更新。
但索引定义不会改变 - 索引包含的数据会发生变化。完全像在表中。通过更改表的数据 - 您不会更改表的结构。