diff --git "a/01\347\277\201\347\253\240\345\275\254/\347\254\224\350\256\260/2022-09-22 \345\205\263\350\201\224 \346\255\273\351\224\201.md" "b/01\347\277\201\347\253\240\345\275\254/\347\254\224\350\256\260/2022-09-22 \345\205\263\350\201\224 \346\255\273\351\224\201.md" new file mode 100644 index 0000000000000000000000000000000000000000..c26aa4e90db555981fd8419759d765fb3d1ce3a3 --- /dev/null +++ "b/01\347\277\201\347\253\240\345\275\254/\347\254\224\350\256\260/2022-09-22 \345\205\263\350\201\224 \346\255\273\351\224\201.md" @@ -0,0 +1,42 @@ +# 关联子查询 + +## 排序 + +over + +frame:rows between **unbounded preceding** and **current row** + +select 列名 over (order by 列名 asc rows between **current row** and **1 following**) frame from 表名 + +frame:rows, range + +between ... and ... + +**unbounded preceding**: 第一行 + +**unbounded following**: 最后一行 + +**current row**:当前行 + +ROWS:逻辑位置存储 RANGE:物理位置存储 + + 行号 **preceding**: 前面几行 + 行号 **following**: 后面几行 + +# 死锁 + +#### 死锁产生的原因 + +A要用2,B要用1,但A占了1,B占了2 + +A事务(1)---》2 + +B事务(2)---》1 + +#### 防止死锁产生: + +语句保持一致 事务语句不要写太长 + +事务只能整体完成 + +当一个事务无法结束时,另一个与之有关的事务就会陷入死锁,占用资源永久等待 \ No newline at end of file