2021年5月13日

(10)MySQL进阶篇SQL优化(InnoDB锁-间隙锁)

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

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

2021年5月12日

(9)MySQL进阶篇SQL优化(InnoDB锁-记录锁)

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

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

2021年5月7日

(8)MySQL进阶篇SQL优化(InnoDB锁-共享锁、排他锁与意向锁)

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

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

2021年4月30日

(7)MySQL进阶篇SQL优化(InnoDB锁-事务隔离级别 )

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

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

2021年4月13日

(6)MySQL进阶篇SQL优化(MyISAM锁)

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

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

2021年4月8日

(5)MySQL进阶篇SQL优化(优化数据库对象)

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

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

2021年3月26日

(4)MySQL进阶篇SQL优化(常用SQL的优化)

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

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

2021年3月16日

(3)MySQL进阶篇SQL优化(索引)

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

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

2021年3月15日

(2)MySQL进阶篇SQL优化(show status、explain分析)

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

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

2021年2月21日

(1)MySQL进阶篇在linux环境下安装

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

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

导航