mysql 字段内容不唯一是否适合建立索引 10

PS1:如题,我想给表的mid(另外一个表的主键)创建索引,但这个是字段的值有重复记录,那适合建索引吗?PS2:我表中有type和status字段,表示类型和状态,在查询... PS1:如题,我想给表的mid(另外一个表的主键)创建索引,但这个是字段的值有重复记录,那适合建索引吗?
PS2:我表中有type和status字段,表示类型和状态,在查询的时候经常用到,但这些字段的内容高度重复,这样的字段适合简历索引吗?如果适合,那种索引比较好?
下面提供索引建立时候的类型和方式:
展开
 我来答
曾经有个怪叔叔
推荐于2017-12-16 · TA获得超过534个赞
知道小有建树答主
回答量:369
采纳率:100%
帮助的人:361万
展开全部
先正面回答你的问题

数据是否重复不是建立索引的重要依据,甚至都不是依据。

只要不完全重复(所有元组的该元素都一样),那么建立索引就是有意义的。
即使当前数据完全重复,也不是不能建立索引,这种情况有点复杂,不细说了。

对于你后面的疑问,可以给你一个如何建立索引的忠告,“如何查就如何建”。

索引的建立,唯一的原因就是为了查询(广义的查询),实际上建立索引会使得数据存储所占空间变大,有时索引所占的空间会查过数据本身的空间。索引的建立也会使得数据插入时变慢,特殊情况下,慢的难以忍受,所以DBA的重要工作之一,就是检查索引层级并优化。

索引建立的唯一好处,就是按照索引查询时,变快了。type,status这2个字段是否适合建立索引,就要看你是否要按照这2个字段进行检索。而检索的顺序决定了如何建立索引。

对于索引类型和索引方式,我建议就 Normal 和 BTREE 就适用于大多数情况。若你参与的是一个大数据处理项目,对数据存储和检索有特别要求,那么需要分析多个层面,比如数据吞吐量、数据的方差、平均差等等很多参数才考虑是否用聚集索引等(mysql好像还没聚集索引),至于是否是唯一索引,我建议不使用,即使能判定数据是唯一的也不要用,全文索引也没有必要。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式