数据库外键的使用
外键解决的是数据的安全性、完整性问题。
用不用外键,这取决于数据库的用途、规模、架构,有外键,可以提高鲁棒性、健壮性,但是约束检验显然会拖慢速度。
规模上说,数据量大的不适合用外键,小的可以用;用途上安全性、可靠性很重要的就要用外键,否则可以不用。
互联网应用基本上都是追求大规模的用户,自然数据量大,对性能和速度的要求比较高,所以尽量不要用外键。
单表多次查询和多表联合查询
联合查询或许确实快,但是mysql的资源通常比程序代码的资源紧张的多。
而且,简单查询更容易做缓存和优化。
单表查询有利于后期数据量大了分库分表,如果联合查询的话,一旦分库,原来的sql都需要改动。
联合查询对于少量数据查询是没有问题的,但对于数据量多的情况,以及后续的表结构发生变化,或分库分表的时候就不利于优化。
以上是知乎用户的回答,对互联网应用的大数据量,应该采取单表多次查询。
互联网应用要求快速迭代,对数据库的更改会很频繁。联合查询涉及到多个表,表与表之间的联系多了,数据库表之间的耦合度就高了,对维护和迭代都是不好的。
网友评论