![](https://i-blog.csdnimg.cn/columns/default/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mysql
文章平均质量分 89
西门吹雪分身
这个作者很懒,什么都没留下…
展开
-
MySQL数据库调优之关联查询、排序查询、分页查询、子查询、Group by优化
一个常见又比较头疼的问题就是limit 2000000,10 此时,需要mysql排序前20000010条记录,仅仅返回2000000-20000010的记录,其他记录丢弃,查询排序的代价非常的大。两种算法的数据都有可能超出sort_buffer_size的容量,超出之后,会创建tmp文件进行合并排序,导致多次I/0,但是用单路排序的风险更大一些,所以要。但总的来说,我们还是要避免,以提高查询效率。不一定,优化器会根据你查询语句做优化,决定先查那张表,先查询的那张表就是驱动表,反之就是被驱动表。原创 2024-02-24 17:34:56 · 1093 阅读 · 0 评论 -
MySQL数据库调优之索引失效的情况
链接。原创 2024-02-21 00:02:23 · 949 阅读 · 0 评论 -
Mysql学习之事务日志undolog深入剖析
在InnoDB中,事务中的Delete操作实际上并不是真正的删除掉数据行,而是一种Delete Mark操作,在记录上标识Delete_Bit,而不删除记录,是一种假删除,只是做了一个标记,真正的删除工作需要后台purge线程去完成。undo log会产生redo log,也就是undo log的产生会伴随着redo log的产生,这是因为undo log也需要持久性的保护。以上情况出现,需要把数据改回原来的样子,这个过程称之为回滚,这样就可以造成一个假象:这个事务看起来什么都没做,所以符合。原创 2024-02-26 22:05:14 · 435 阅读 · 0 评论 -
Mysql学习之事务日志redolog深入剖析
比如对某一行数据进行了INSERT的操作,那么undo log就记录一条与之相反的DELETE操作。这里的日志就是redo log.当发生宕机且数据未刷到磁盘的时候,可以通过redo log来恢复,,通过缓冲池来优化CPU和磁盘之间的鸿沟,这样可以保证整体的性能不会下降的太快。,提供再写入操作,恢复提交事务修改的页操作,用来保证事务的持久性。也就是说,一个没有提交事务的redo log记录,也可能会刷盘。,回滚行记录到某个特定的版本,用来保证事务的原子性、一致性。(undo log记录的是每个修改操作的。原创 2024-02-26 07:00:00 · 880 阅读 · 0 评论 -
Mysql学习之MVCC解决读写问题
MVCC (Multiversion Concurrency Control)多版本并发控制。顾名思义,MVCC是通过数据行的多个版本管理来实现数据库的。原创 2024-03-02 18:45:31 · 1101 阅读 · 1 评论 -
MySQL数据库索引的学习
理解方式1:索引是高效找到行的一个方法,但是一般数据库也能使用索引找到一个列的数据,因此它不必读取整个行,毕竟索引叶子节点存储了他们索引的数据,当能通过读取索引就可以找到想要的数据,那就不需要读取行了,列的基数指的时某一列中不重复数据的个数,比如某个列的包含值2,5,8,2,5,8,2,5,8,虽然有9条记录,但该列的基数却是3.也就是说,这个列的基数指标非常重要,直接影响到我们是否能有效的利用索引,最好为列的基数大的列建立索引,为基数小的列建立索引的效果可能不好。问题是,截取多少呢?原创 2024-02-05 09:30:02 · 881 阅读 · 0 评论 -
Mysql学习之各种锁
而且如果对一条记录加了gap锁(不论是共享gap锁还是独占gap锁),并不会限制其他事务对这条记录加记录锁或者继续加gap锁。读取操作本身不会对记录由有任何的影响,并不会引起什么问题,所以允许这种情况的发生。从对待锁的态度来看锁的话,可以将锁分为乐观锁和悲观锁,从名字可以看出这两种锁是两种看待。两个事务都持有对方需要的锁,并且在等待对方释放,并且双方都不会释放自己的锁。读-写或写-读,即一个事务进行读取操作,另一个进行改动操作,需要注意的是,乐观锁和悲观锁并不是锁,而是锁的。,加锁会比较慢,容易。原创 2024-03-02 14:10:56 · 938 阅读 · 0 评论 -
MySQL数据库调优之 explain的学习
定位了查询慢的SQL后,就可以使用explain或describe工具做针对性的分析查询语句。describe语句的使用方法与explain语句是一样的,并且分析结果也是一样的。Mysql中有专门负责优化SELECT语句的优化器模块,主要功能:通过计算饭呢西系统中收集到的统计信息,为客户端请求的Qurey 提供它认为最优的。原创 2024-02-20 16:57:18 · 896 阅读 · 0 评论 -
Mysql学习之数据库事务
事务是数据库区别于文件系统的重要特性之一,当有了事务就可以让数据库始终保持。原创 2024-02-26 06:45:00 · 1869 阅读 · 0 评论 -
Mysql数据库学习之范式
可以理解为,一张数据表的设计结构需要满足的某种设计标准。原创 2024-02-25 13:26:56 · 867 阅读 · 0 评论 -
MySql基础学习笔记
mysql基础学习原创 2022-06-25 15:57:21 · 444 阅读 · 0 评论