文章目录
-
有一些大型项目数据库表中为什么往往没有设置主键和外键?
在有外键的表中,我们进行数据的改操作,它会加上共享锁给父表,这样在高并发的大型系统里头,是很影响性能的,因此这也是很多系统不设主键外键的原因
-
为什么 SELECT 中的别名不能在 WHERE 中识别?
因为依据 mysql 语句的执行顺序,GROUP BY 之前别名不存在,GROUP BY 之前被执行的语句就是 WHERE
-
为什么 WHERE 后不能加聚合函数,HAVING 后可以?
因为聚合函数的计算是依赖于结果集的,所以依据 sql 语句执行顺序 HAVING 时候已经拿到结果集了,所以 HAVING 可以
-
索引优缺点?或者说索引如果这么好为什么不每张表每个列都建索引?
索引优点加快数据检索速度,但是索引其实也是优缺点的,、如果加索引就意味着创建和维护索引要耗费时间,索引也是要耗费物理空间的,这就是不是每个列都加索引的原因
-
应该哪些列加上索引呢?
经常检索的列,经常排序的列