如果我运行SHOW COLUMNS FROM table_name,我会得到:
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| convo_id | int(11) | NO | PRI | NULL | auto_increment |
| client_convo_id | varchar(255) | NO | | NULL | |
| user_id | int(11) | NO | MUL | NULL | |
+-----------------+--------------+------+-----+---------+----------------+看一下Key-column,很清楚PRI是什么意思,也就是主键。根据我的研究,MUL代表多个,这意味着在这个表中可以有同一个user_id的多个实例。但是client_convo_id字段又如何呢?它在Key-column中没有价值。这是什么意思?我怀疑表中可能有多个条目具有相同的client_convo_id。那么,为什么client_convo_id的Key-column中没有MUL呢?
发布于 2017-10-17 21:59:41
MUL表示该字段是非唯一索引的一部分,如下所示:Another question
client_convo_id的键列中没有任何内容,因为该字段没有附加索引。
并非SQL中的所有列都有索引。通常只有一个用于选择的(在where或join子句中)被索引,因此查询运行得更快。这是关于这个问题的official documentation。
https://stackoverflow.com/questions/46791953
复制相似问题