什么是数据库事务的 ACID 属性?
ACID 代表原子性、一致性、隔离性和持久性。原子性保证操作完成或未完成,永远不会完成一半或未完成。Consistency 是指数据运行前后一致,Isolation 是指两个事务互不干扰,Durability 是指数据写入后不丢失
索引失效的几种情况
like 的左模糊以及左右模糊
select *
索引列有计算 或者使用了函数
字段类型不同
or关键字 要注意是否全部加了索引
not in
not exists
主键和唯一索引的区别
1、主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。
2、主键创建后一定包含一个唯一性索引,唯一性索引不一定就是主键。
3、唯一性索引列允许空值, 而主键列不允许为空值。
4、主键可以被其他表引用为外键,而唯一索引不能。
5、 一个表最多只能创建一个主键,但是可以创建多个唯一索引。
6、主键更适合那些不容易改变的唯一标识,如自动递增列,身份证号等。
7、在RBO 模式下,主键的执行计划优先级高于唯一索引。两者可以提高查询的速度。
inner join 、left join
内连接是查询两张表都符合条件的数据
左连接是查询左边表符合条件的数据 右边表没有就返回null
group by --部门 having --每个部门绩效 咋咋这 having后接的是聚合函数 与where的主要区别就是where没法判断聚合函数
union与unionall
都是连接两个查询结果的 主要区别在于 union 会去重 unionall是查询所有的包含重复的
常用的排序函数为 Row_Number () over() 按顺序排序
RANK 可以并列 但是会跳过接下来的数字 例如1 2 3 3 5 这种排序方法
DENSE_RANK 并列 并且不跳过 1 1 2 2
Lag函数 计算与上一行数据相比较的差值