摘要:MySQL 表锁和行锁机制 行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整的很惨!不知坑在何方?没事,我来给你们标记几个坑。遇到了可别乱踩。通过本章内容,带你学习MySQL的行锁,表锁,两种锁的优缺点,行锁变表锁的原因,以及开发中需要注意的事项。还在等啥?经验等你来拿! MyS
阅读全文
lotus贵有恒何必三更眠五更起 最无益只怕一日曝十日寒 |
|
随笔分类 - 数据库
摘要:MySQL 表锁和行锁机制 行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整的很惨!不知坑在何方?没事,我来给你们标记几个坑。遇到了可别乱踩。通过本章内容,带你学习MySQL的行锁,表锁,两种锁的优缺点,行锁变表锁的原因,以及开发中需要注意的事项。还在等啥?经验等你来拿! MyS
阅读全文
摘要:悲观锁:悲观的觉得别人一定会修改我的数据。悲观锁有两种,读锁和写锁。 悲观锁:悲观的觉得别人一定会修改我的数据。悲观锁有两种,读锁和写锁。 悲观锁:悲观的觉得别人一定会修改我的数据。悲观锁有两种,读锁和写锁。 悲观锁:悲观的觉得别人一定会修改我的数据。悲观锁有两种,读锁和写锁。 1.读锁:也叫共享锁
阅读全文
摘要:悲观锁 悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。 悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。 Java synchronized 就属于悲
阅读全文
摘要:记得在上大学那会开始,在大学的课堂上,常常会听到什么共享锁,排它锁各种锁的词汇,以前仅仅听过一次就没有管了,并没有进行深入的研究 最近,在各种群里,又看见了什么乐观锁、悲观锁什么鬼的感觉很高级的词汇,于是乎今天对这几个概念进行学习,揭开它神秘的面纱,缕缕思路记录下我对这几个概念的想法 实验环境: m
阅读全文
摘要:一.windows下 1.以系统管理员身份运行cmd. 2.查看mysql是否已经启动,如果已经启动,就停止:net stop mysql. 3.切换到MySQL安装路径下:D:\WAMP\MySQL-5.6.36\bin;如果已经配了环境变量,可以不用切换了。 4.在命令行输入:mysqld -n
阅读全文
摘要:连接池用于创建和管理数据库连接的缓冲池技术,缓冲池中的连接可以被任何需要他们的线程使用。当一个线程需要用JDBC对一个数据库操作时,将从池中请求一个连接。当这个连接使用完毕后,将返回到连接池中,等待为其他的线程服务。 连接池的主要优点有以下三个方面。 第一、减少连接创建时间。连接池中的连接是已准备好
阅读全文
摘要:你们团队使用SpringMVC+Spring+JPA框架,快速开发了一个NB的系统,上线后客户订单跟雪花一样纷沓而来。 慢慢地,你的心情开始变差,因为客户和产品的抱怨越来越频繁,抱怨的最多的一个问题就是:系统越来越慢了。 1 常规优化 你组织团队,进行了一系列的优化。 1.1 数据表索引优化 经过初
阅读全文
摘要:引言 大家在面试的时候,是否遭遇过,面试官询问 你们是如何进行数据库优化的? 那这个问题应该怎么答呢?其实写这个题材的原因是我这几天看到各公众号转的一篇数据库调优的知识(不上链接了),我就稍微翻了几下,上面动不动就来说要对数据库进行水平拆分,我就想反问各位读者,你们几个人经历过水平拆分?现在很多文章
阅读全文
摘要:一、简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行
阅读全文
摘要:一、简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。 二、参数说明 slow_query_log 慢查询开启状态slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设
阅读全文
摘要:执行1: 执行2: 为什么还能匹配索引? 你的疑问是:sql查询用到索引的条件是必须要遵守最左前缀原则,为什么上面两个查询还能用到索引? 讲上面问题之前,我先补充一些知识,因为我觉得你对索引理解是狭隘的:上述你的两个查询的explain结果中显示用到索引的情况类型是不一样的。,可观察explain结
阅读全文
摘要:几个重要的概念 1.对于mysql来说,一条sql中,一个表无论其蕴含的索引有多少,但是有且只用一条。 2.对于多列索引来说(a,b,c)其相当于3个索引(a),(a,b),(a,b,c)3个索引,又由于mysql的索引优化器,其where条件后的语句是可以乱序的,比如(b,c,a)也是可以用到索引
阅读全文
摘要:Mysql支持哪几种索引 从数据结构角度 1、B+树索引(O(log(n))):关于B+树索引,可以参考 MySQL索引背后的数据结构及算法原理 2、hash索引:a 仅仅能满足"=","IN"和"<=>"查询,不能使用范围查询b 其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要
阅读全文
摘要:一、全局配置 (1)max_connections最大连接数。默认值是151,最多2000。如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量。但是如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值。查看最大连接数 mysql> SHOW
阅读全文
摘要:一、概念 1.为什么要分表和分区?日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高
阅读全文
摘要:一、SQL语句优化 (1)使用limit对查询结果的记录进行限定(2)避免select *,将需要查找的字段列出来(3)使用连接(join)来代替子查询(4)拆分大的delete或insert语句 二、选择合适的数据类型 (1)使用可存下数据的最小的数据类型,整型 < date,time < cha
阅读全文
摘要:一、概述 数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,
阅读全文
摘要:MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也
阅读全文
|