9.28周末大复习
“叠嶂层峦 跨轻鞍 星河我遍览 山顶回笼悠享浮生清欢”—丁花瓷
Mysql
基础
理解结构 关系型数据库
基本操作
DDL 建库建表 修改表结构
Create database‘’ ;
Create table ‘’ (字段 字段名)
Alter table ‘’add/modify/change/drop/
DML 增删改 insert update delete
DQL 查询 DCL 权限管理
Select * from 表 where xx group by xx order by xx limit xx
设置别名 去重 select distinct 姓名 from tb
小工具
函数 字符串函数
数值函数
日期函数
流程函数 case when ()then 1 else 2 end
约束 非空 唯一 主键 外键(约束的删除更新行为)
事务 操作 start transaction rollback commit
四大特性
并发事务问题
事务的隔离级别
多表查询深入复习
对应关系 一对一 比如 用户与用户详细信息
一对多 部门 和员工 在一张表上设置外键
多对多 学生 和 选课 可以设置中间表 分别用外键对应学生id 和 课程id
前置知识 用where a.id=b.id 来消除无效笛卡尔积
内连接 就是求两张表的交集 join
左外连接 包括左表的全部信息 主要是为了囊括对应右边的null值
右外连接同理
自连接 给自己起别名 场景 查询在员工表中查询员工和对应的mt
子查询
一些例子加深印象
列子
查询“东校”和“本校” 的所有学生信息
先查到一列id 就用列子 根据id查询
查询408进度比所有人都快的人的信息
先查所有人的进度最大 max()
再根据这个数值查
行子
查询与“东校” 的盈利和清北人数相同的学校
先根据东校查 盈利和清北人数
然后查 所有信息 用where ()= ()
表查询
查询与“本校“东校” 的盈利和清北人数相同的学校
另一种类型 直接把查到的表作为新表查!
原理篇
存储引擎
主流是innoDB
Mysql的体系结构 连接层 引擎层(索引实现于此) 服务层 存储层
存储引擎是基于表的
特点:支持事务 支持外键 支持行级锁
索引
结构
是一种数据结构 可以高效获取数据
B+树 思考 为什么不用红黑树?B树? 哈希?
大数据量 树层深,查询慢。/B+的数据都存放在叶子节点,而一页大小固定16k, 索引节点就可以放更多指针,进一步减少树深。并且b+树叶子节点是双向链表 利 于范围搜索和排序
哈希不支持范围查找和排序!
分类
聚集索引 二级索引 他们的结构 数量要牢记
什么是回表查询
性能分析
开启慢日志
Show profiling 查看每一个的执行时长
Explain 执行计划 关注 type key key-len extra
索引原则与失效情况
Sql优化
锁
全局锁
表级锁
共享读锁 独占写锁
元数据锁 开事务加锁 防止DDL偷袭
意向锁 IS IX
行级锁 行锁,间隙锁,临键锁
Mvcc
Pytorch
卷积操作 conv2d 卷积核 寻找相似区域
最大池化 保证输入特征 减少数据量
非线性激活 让神经网络有更大的适应能力
线性层的几个函数
Linear
Flatten展平
搭建简单的神经网络
损失函数
L1Loss
MSELoss
CrossEntropyLoss 计算误差 返回值越小 越精确
组成原理
定点数的运算
移位运算 注意负数补码左移右移补01
误差舍入
溢出判断 加一个进位位 双符号位
定点数的加减运算
(目前不考 等以后再研究罢。。)
定点数的原码乘法/除法
补码乘法/除法
浮点数
尾数的规格化 追求最高位不为0 补码的符号位和最高数值位相反 最大1.0111
IEEE754标准
移码=真值+偏置值 移码阶码 原码尾数 (.xxx形式 隐藏最高位1)
Float 1 +8 +23
学会互相转换
浮点数的加减运算
1.对阶 小的对应成大的 因为硬件上尾数是定点小数
2.尾数加减
3.规格化 拯救溢出 右规 阶码+1
4.舍入 舍0入1 恒置1
5.判断溢出 阶码的灵感符号位是否一样
存储器
分类
层次分类
存储介质
存取方式 RAM ROM
可保存性
基本结构
算法
双指针 最大盛水量 数据结构(链表)
二叉树
建立 (通过截断数组递归实现)
遍历 3+1(层 判空 pop(单个或者一行) pop自己放孩子)
理解递归的过程
进栈之后 if判断下一步是return还是进入主操作
主操作 盯着倒数第一步写
返回值的妙用 得到孩子的信息 (int,节点地址)方便统计分支情况或修改指针
return 啥 自己? 孩子节点? 孩子的孩子呢?