插入
插入操作:
在mysql中的InnoDB存储引擎中逻辑存储结构:
逻辑存储结构:
在mysql中的InnoDB存储引擎中
TableSpace 表空间 Segment 段 Extend 区 Page 页 Row 行
插入操作:
尽量使用批量插入
如果一次性插入大批量数据,使用insert 插入性能较低,此时可以使用mySQL 数据库提供的load指令进行插入
主键优化
两种主键插入方式
1.顺序插入,根据主键id进行插入
主键乱选插入原理图解:
所用原理页分页
1.首先索引进行寻找
2.将要插入索引的数据进行寻找到对应的页(1#),将对应的页(1#)内容进行分半,将分半后的尾部内容(索引为23 、47)
3.将页重新排序
这就是页分裂
删除
数据删除删除
将页中的数据达到规定的空间之后,将会删除,
将会进行页合并
合并之后再添加新的数据
排序
order by 排序方式优化
知识点:
Using filesort : 通过表的索引或全表扫描,读取满足条件的数据行,然后在排序缓冲区sort buffer中完成排序操作,所有不是通过索引注解返回排序结果的排序都叫FileSort 排序
Using index :通过有序索引顺序扫描直接返回有序数据,这种情况即为 using index,不需要额外排序,操作效率高
创建索引进行分组排序
分组
group by
分页
Limit 分页查询优化:
优化
更新
update 语句优化:(避免行锁升级为表锁)
查询数量
count 优化查询
优化思路: 自己计数
count 的几种用法:
count(1) 不是null 会对数量进行累加
总结