在 MySQL 中,主键 Id 不是有顺序的时候,可能会导致新增性能下降的原因是,MySQL 默认使用 B-tree 索引来实现主键索引,如果主键 Id 是无序的,那么在插入数据时,MySQL 需要不断寻找合适的位置来插入新数据,这可能会导致 B-tree 索引不断被调整,从而影响插入性能。相反,如果主键 Id 是有序的,MySQL 可以更快速地找到要插入的位置,从而提高插入性能。
注意主键Id应该是最后生成的
MySql为例:当使用复合键并且确保关联数据都已经存在时,插入新数据时可能不会对性能产生太大影响。这是因为在 MySQL 中,使用复合键时,MySQL 会同时使用所有列生成 B-tree 索引,从而提高查询和插入的性能。在插入数据时,如果已经确保了关联数据的存在,那么 MySQL 可以更快速地插入新数据并生成新的索引,从而提高插入性能。
但是,需要注意,如果你的表结构复杂,或者在插入数据时没有正确使用索引,那么复合键仍然可能会影响插入性能。
备选键