- 博客(8)
- 收藏
- 关注
原创 MySQL的优化
一般分页查询时,通过创建覆盖索引能够比较好地提高性能。一个常见又非常头疼的问题就是 limit 900000,10 ,此时需要MvSQL排序前900010 记录,仅仅返回900000-900010 的记录,其他记录丢弃,查询排序的代价非常大。结果值从最好到最坏以此是: system > const > eq_ref> ref> range > index > ALL。当进行数据的insert操作的时候,可以考虑采用以下几种优化方案。Filesort 的优化。
2023-07-13 08:12:25 61 1
原创 MySQL的日志
二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复起着极其重要的作用,MvSQL的主从复制,就是通过该binlog实现的。二进制日志,MysQl8.0默认已经开启,低版本的MvSQL的需要通过配置文件开启,并配置MvSL日志的格式。Windows系统:myini Linux系统:my.cnf。
2023-07-11 15:37:53 55
原创 MySQL的锁机制
MyISAM 在执行查询语(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作(UPDATE.DELETE、INSERT等)前,会自动给涉及的表加写锁,这个过程并不需要用户干预,因此,用户一般不需要直接用 LOCK TABLE 命令给 MyISAM 表显式加锁。排他锁(x):又称为写锁,简称X锁,排他锁就是不能与其他锁并存,如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取排他锁的事务是可以对数据就行读取和修改。MyISAM 存储引擎只支持表锁。
2023-07-11 11:00:51 46
原创 MySQL的事务
solate,顾名思义就是将事务与另一个事务隔离开,为什么要隔离呢?如果一个事务正在操作的数据被另个事务修改或删除了,最后的执行结果可能无法达到预期。如果没有隔离性还会导致其他问题。Mysql的默认隔离级别是Repeatable read。
2023-07-10 10:42:14 45 1
原创 MySQL索引
索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索引,MVSQL必须从第条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。索引类似一本书的目录,比如要查找student这个单词,可以先找到s开头的页然后向后查找,这个就类似索引。2.单列索引:一个索引只包含单个列,但一个表中可以有多个单列索引。
2023-07-09 16:27:39 124 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人