likes
comments
collection
share

面试笔记-数据库篇

作者站长头像
站长
· 阅读数 7

数据库篇

*count 和count列名的区别 **

count(*)包括了所有的列,相当于行数,在统计结果的时候, 不会忽略列值为NULL count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候, 不会忽略列值为NULL count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数, 即某个字段值为NULL时,不统计。

数据库优化

从sql语句优化、数据库结构优化、服务器硬件优化三个方面入手 语句优化:多种情况,尽量选择效率最高的语句 数据库结构优化: 1)范式优化: 比如消除冗余(节省空间。。) 2)反范式优化:比如适当加冗余等(减少join) 3)拆分表: 垂直拆分和水平拆分 服务器硬件优化:多花钱\

数据库事务的四个特性

原子性:一系列相关逻辑的操作,要么全做,要么全不做 一致性:事务的执行结果必须是从一个一致性到另一个一致性状态 隔离性:一个事务的操作不能被其他事务的操作所影响,并发执行不能互相干扰 持久性:事务一旦提交,对数据的改变就是永久的,不能回滚。

三个范式

第一范式:字段是最小的单元,不能再次分割 第二范式:表中的字段都必须依赖于全部主键而非部分主键 第三范式:非主键外的字段必须互不依赖\