首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是什么决定了是否为SQL列编写MUL

问是什么决定了是否为SQL列编写MUL
EN

Stack Overflow用户
提问于 2017-10-17 21:56:46
回答 1查看 1.1K关注 0票数 0

如果我运行SHOW COLUMNS FROM table_name,我会得到:

代码语言:javascript
复制
+-----------------+--------------+------+-----+---------+----------------+
| 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呢?

EN

回答 1

Stack Overflow用户

发布于 2017-10-17 21:59:41

MUL表示该字段是非唯一索引的一部分,如下所示:Another question

client_convo_id的键列中没有任何内容,因为该字段没有附加索引。

并非SQL中的所有列都有索引。通常只有一个用于选择的(在where或join子句中)被索引,因此查询运行得更快。这是关于这个问题的official documentation。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46791953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档