为什么索引中的数据必须是唯一字段?

 我来答
慎素琴母琴
2022-07-06 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.2万
采纳率:30%
帮助的人:1025万
展开全部
先正面回答你的问题
数据是否重复不是建立索引的重要依据,甚至都不是依据。
只要不完全重复(所有元组的该元素都一样),那么建立索引就是有意义的。
即使当前数据完全重复,也不是不能建立索引,这种情况有点复杂,不细说了。
对于你后面的疑问,可以给你一个如何建立索引的忠告,“如何查就如何建”。
索引的建立,唯一的原因就是为了查询(广义的查询),实际上建立索引会使得数据存储所占空间变大,有时索引所占的空间会查过数据本身的空间。索引的建立也会使得数据插入时变慢,特殊情况下,慢的难以忍受,所以dba的重要工作之一,就是检查索引层级并优化。
索引建立的唯一好处,就是按照索引查询时,变快了。type,status这2个字段是否适合建立索引,就要看你是否要按照这2个字段进行检索。而检索的顺序决定了如何建立索引。
对于索引类型和索引方式,我建议就
normal

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式