mysql中外键是否要添加索引?
答:
- 如果没有索引的话,mysql每次在你插入、修改数据的时候都需要全表扫描主键中的所有记录,以确定是否遵守外键约束,效率上显示不合适,所以要添加
是否有必要使用外键?为什么不使用外键?
答:看情况使用
- 在大型系统中,要求性能不高,安全性要求高的时候使用外键;在大型系统中,性能要求高,安全性自己控制的时候不使用外键;小系统的话都可以。
- 用外键要适当,不能过分的追求外键
- 不用外键而用程序控制数据一致和完整性时,应写一层来保证,然后再一个个应用通过这个层来访问数据库
索引的缺点:
- 创建和维护需要消耗时间,并且随着数据量的增多,时间也是随之增加
- 需要占用物理空间,除去数据表占用数据空间之外,每个索引需要占一定的物理空间,如哟啊及案例聚簇索引,需要的空间更大
- 当对表中的数据进行增删改时,索引也需要动态维护,降低了数据的维护速度