为什么MySQL在删除列时不会丢弃关联的索引?

时间:2016-09-27 09:41:45

标签: mysql sql indexing alter-table

考虑以下用例场景:

假设我有一个名为messages

的表

讯息

- id 
- account_id
- conversation_id
- msg
- msg_type
- timestamp

messages表中的索引如下:

- idx_messages_account_id_timestamp (account_id,timestamp)
- idx_messages_account_id_conversation_id (account_id, conversation_id)

现在,我需要删除列conversation_id

ALTER TABLE messages DROP COLUMN conversation_id;

删除conversation_id列后,我检查了索引并在那里找到了相同的索引。

我认为MySQL会在删除列时删除所有关联的索引。

那么,当相应的列不再存在时,这些索引(例如idx_messages_account_id_conversation_id)的用法是什么?

0 个答案:

没有答案