MySQL 一张表最多支持多少个索引?

数据量已经达到几百万, 但是表本身有8个索引, 需要确认一下能不能再添加索引?

索引数量 和 插入性能之间的权衡点是多少?

一个表最多16个索引,最大索引长度256字节

索引一般不明显影响插入性能(大量小数据例外),因为建立索引的时间开销是O(1)或者O(logN)

没有限制的,但是建议不要以多建立索引就会提高查询效率的前提去建立过多的索引

关于索引你首先要明白它的内部结构,Clustered Index 和Secondary Indexes 的覆盖索引和回表,然后索引不是越多越好,因为列的离散度可能会更慢,然后是联合索引是否满足最左匹配,索引失效如何优化,有时间建议来听听我的直播课

没有最多几个的限制,想设多少都行,但是多设了没意义。
建议统计看看查询语句的频率,那个字段的查询更频繁就设那个做索引

没有索引个数限制,索引的意思是每次查找优先走索引,如果是全部加上没有任何意义

百万数据量也不算多,但是索引8个我觉得有点多,可以考虑组合索引,利用前缀索引进行优化。
是否有必要建索引可以通过索引选择性 count(DISTINCT(字段))/count(*)来判断,值越大则索引利用率越高。

好像是没得限制的,而且你已经有八个索引了,一般dml 语句频繁的话,建3-5个索引就差不多了

三个索引并不算多,索引的方式本来就有些偏向于空间换时间的方式;
然而索引的字段不能太大,否则除了占空间之外,在动态变更索引、查询上开销也会比较低效。
一般考虑使用基础类型(int/long/bit) 此类作为索引,需要规避大文本字段作为索引的做法!

这个随意啦,但是索引影响性能,索引多了数据量一大,插入数据会很感人的。

没有最多几个的限制,想设多少都行

好像没有固定索引的,一般是哪个字段频繁就设置索引

索引的个数是没有限制的,但是过多的索引没有什么意义。建议根据常用查询条件进行索引优化,使用组合索引,尽量避免对字符串类型的字段设置索引。

一张表一个字段创建一个索引