mysql5.7 建立索引的方式有个问题请教下

mysql版本5.7

问题1:
给数字类型的字段添加索引:如日期 存储为 int 类型,那么给日期添加索引可以用
用index 或者 key 这样的方式?
index(字段名)?

问题2:整形类型的索引是用index 还是用key啊 好模糊啊 不太懂 求指点下。

问题3:多对多中的中间表(名字为C吧) 如 id Aid Bid 其中Aid 和Bid 为关联表 ID字段,请问是否添加
index(Aid)
Index(Bid)
这样来提高查询效率?

阅读 3.2k
3 个回答

。。。不是很明白,大概猜想一下,你所说的 index 是指普通索引,key 是指主键索引么?因为索引从字段数可以分为字段索引和组合索引(多字段形成的一个索引,多层级关系),从索引类型分为 普通索引,唯一索引,主键索引和全文索引。基于你对索引不太了解(个人判断)的情况对你做出以下回答:

索引效率是由索引的是否重复性决定的,比如,字段 aid 它是唯一性的值,就算你不设置唯一索引,它其实也等价唯一索引,而索引类型中主键索引的效率是最高的,但它也只能设置一个,所以一般作为查找的标识使用。如果你要对关系表做索引,其实设置两个就好了,其中一个主键给表的标识字段 ID 设置。然后另一个索引则创建一个关联索引 AID,BID ,需要注意的是,根据你的项目需求,设置 AID 和 BID 的顺序需要调整一下,至于更多的,我想这个表是不需要的,因为索引的使用,它每次只会使用一个。更多的信息请自行了解。

index 或者key 都是索引的名字而已,看需求情况,可以给需要的表加唯一索引,对于中间表,就像你加的那两个索引,其实对于查询速度是有影响的,只不过数据不太稳定,可以在多对多的表加外键解决。最后加索引的键注意键的长度,具体了解下聚簇的概念。

怕是你完全没去理解索引是什么东西吧。 索引有 unique,primary key, key, fulltext, spatial 这几个索引,然后你再命名就行了,还有你多表连接的时候,不是说各自建索引就好,而是你本身对这个字段的使用作用,或者说是使用到的频率而去设置索引

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题