随笔分类 -  MySQL进阶篇

(11)MySQL进阶篇SQL优化(InnoDB锁问题排查与解决)
摘要:1.概述 前面章节之所以介绍那么多锁的知识点和示例,其实最终目的就是为了排查与解决死锁的问题,下面我们把之前学过锁知识重温与补充一遍,然后再通过例子演示下如果排查与解决死锁。 2.前期准备 ●数据库事务隔离级别 SHOW VARIABLES LIKE 'transaction_isolation%' 阅读全文

posted @ 2021-08-09 10:18 暗断肠 阅读(790) 评论(2) 推荐(3) 编辑

(10)MySQL进阶篇SQL优化(InnoDB锁-间隙锁)
摘要:1.概述 当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁;对于键值在条件范围内但并不存在的记录,叫做“间隙(GAP)”,InnoDB也会对这个“间隙”加锁,这种锁机制就是所谓的间隙锁(Next-Key锁)。 2.InnoDB存储引擎的 阅读全文

posted @ 2021-05-13 20:48 暗断肠 阅读(758) 评论(0) 推荐(0) 编辑

(9)MySQL进阶篇SQL优化(InnoDB锁-记录锁)
摘要:1.概述 InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过在数据块中对相应数据行加锁来实现的。InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,InnoDB才使用行级锁,否则InnoDB将使用表锁!在实际应用程序中,要特别注意InnoDB 阅读全文

posted @ 2021-05-12 22:35 暗断肠 阅读(547) 评论(0) 推荐(2) 编辑

(8)MySQL进阶篇SQL优化(InnoDB锁-共享锁、排他锁与意向锁)
摘要:1.锁的分类 锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制。之前MyISAM锁章节已经讲过锁分类,而InnoDB锁按照粒度分为锁定整个表的表级锁(table-level locking)和锁定数据行的行级锁(row-level locking):●表级锁:开销小,加锁快; 阅读全文

posted @ 2021-05-07 16:59 暗断肠 阅读(972) 评论(1) 推荐(1) 编辑

(7)MySQL进阶篇SQL优化(InnoDB锁-事务隔离级别 )
摘要:1.概述 在我们在学习InnoDB锁知识点之前,我觉得有必要让大家了解它的背景知识,因为这样才能让我们更系统地学习好它。InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION);二是采用了行级锁。行级锁与表级锁本来就有许多不同之处,另外,事务的引入也带来了一些新问题。 2. 阅读全文

posted @ 2021-04-30 17:17 暗断肠 阅读(562) 评论(0) 推荐(0) 编辑

(6)MySQL进阶篇SQL优化(MyISAM锁)
摘要:1.MySQL锁概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源 (如 CPU、RAM、I/O 等)的抢占以外,数据也是一种供许多用户共享的资源。如何保证数 据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素 阅读全文

posted @ 2021-04-13 16:33 暗断肠 阅读(789) 评论(0) 推荐(1) 编辑

(5)MySQL进阶篇SQL优化(优化数据库对象)
摘要:1.概述 在数据库设计过程中,用户可能会经常遇到这种问题:是否应该把所有表都按照第三范式来设计?表里面的字段到底改设置为多大长度合适?这些问题虽然很小,但是如果设计不当则可能会给将来的应用带来很多的性能问题。本章中将介绍MySQL中一些数据库对象的优化方法,其中一些方法不仅仅适用于MySQL,也适用 阅读全文

posted @ 2021-04-08 17:16 暗断肠 阅读(890) 评论(0) 推荐(1) 编辑

(4)MySQL进阶篇SQL优化(常用SQL的优化)
摘要:1.概述 前面我们介绍了MySQL中怎么样通过索引来优化查询。日常开发中,除了使用查询外,我们还会使用一些其他的常用SQL,比如 INSERT、GROUP BY等。对于这些SQL语句,我们该怎么样进行优化呢?本节将针对这些SQL语句介绍一些优化的方法。 2.优化INSERT语句 当进行数据INSER 阅读全文

posted @ 2021-03-26 10:41 暗断肠 阅读(1064) 评论(0) 推荐(2) 编辑

(3)MySQL进阶篇SQL优化(索引)
摘要:1.索引问题 索引是数据库优化中最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数 的SQL性能问题。本章节将对MySQL中的索引的分类、存储、使用方法做详细的介绍。 2.索引的存储分类 MyISAM存储引擎的表数据和索引是自动分开存储的,各自是独立的一个文件;InnoDB存储引擎的表数 阅读全文

posted @ 2021-03-16 20:22 暗断肠 阅读(843) 评论(0) 推荐(1) 编辑

(2)MySQL进阶篇SQL优化(show status、explain分析)
摘要:1.概述 在应用系统开发过程中,由于初期数据量小,开发人员写SQL语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多SQL语句开始逐渐显露出性能问题,对生产环境的影响也越来越大,此时这些有问题的SQL语句就成为整个系统性能的瓶颈,因此我们必须要对它们进行优化,该章节将 阅读全文

posted @ 2021-03-15 11:00 暗断肠 阅读(1316) 评论(0) 推荐(3) 编辑

(1)MySQL进阶篇在linux环境下安装
摘要:1.概述 对于mysql二进制安装,优点是可以安装到任何路径下,灵活性好,一台服务器可以安装多个mysql。缺点是已经编译过,性能不如源码编译得好,不能灵活定制编译参数。如果用户即不想安装最简单却不够灵活的RPM包,又不想安装复杂费时的源码包,那么已编译好的二进制包将是最好的选择,下面让我们来介绍如 阅读全文

posted @ 2021-02-21 15:13 暗断肠 阅读(500) 评论(0) 推荐(1) 编辑

导航

点击右上角即可分享
微信分享提示