mysql
hy_zzzzz
这个作者很懒,什么都没留下…
展开
-
Mysql innodb 间隙锁
前段时间系统老是出现insert死锁,很是纠结。经过排查发现是间隙锁!间隙锁是innodb中行锁的一种, 但是这种锁锁住的却不止一行数据,他锁住的是多行,是一个数据范围。间隙锁的主要作用是为了防止出现幻读,但是它会把锁定范围扩大,有时候也会给我们带来麻烦,我们就遇到了。 在数据库参数中, 控制间隙锁的参数是:innodb_locks_unsafe_for_binlog, 这个参数默认值是OFF转载 2017-06-29 18:21:34 · 178 阅读 · 0 评论 -
聚集索引和非聚集索引(整理)
聚集索引 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到转载 2017-06-30 00:41:05 · 137 阅读 · 0 评论 -
MySQL数据库索引中的单列索引与多列索引
以下的文章主要介绍的是MySQL数据库索引,即单列索引与多列索引的介绍,以及对多列索引的SQL命令的示例,以下就是这些内容的介绍,望你在浏览之后会对MySQL数据库索引的相关内容有更深入的了解。 为了提高搜索效率,我们需要考虑运用多列MySQL数据库索引。如果为firstname、lastname和age这三个列创建一个多列索引,MySQL只需一次检索就能够找出正确的结果!下面是创建这个多列索引转载 2017-06-30 00:59:50 · 661 阅读 · 0 评论 -
mysql处理海量数据时的一些优化查询速度方法
由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾经测试对一个包含400多万条记录(有索引)的表执行一条条件查询,其查询时间竟然高达40几秒,相信这么高的查询延时,任何用户都会抓狂。因此如何提高sql语句查询效率,显得十分重要。以下是网上流传比较广泛的30种SQL查询语句优化方法:转载 2017-07-11 00:47:26 · 372 阅读 · 0 评论 -
关于MYSQL Innodb 锁行还是锁表
关于mysql的锁行还是锁表,这个问题,今天算是有了一点头绪,mysql 中 innodb是锁行的,但是项目中居然出现了死锁,锁表的情况。为什么呢?先看一下这篇文章。 做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设 id=1 的这本书库存为 1 ,但是有 2 个人同时来借这本书,此处的逻辑为 Select restnum fro转载 2017-07-11 01:52:18 · 303 阅读 · 0 评论 -
Mysql中那些锁机制之InnoDB
MySQL中那些锁机制之InnoDB http://www.2cto.com/database/201508/429967.html 我们知道mysql在以前,存储引擎默认是MyISAM,但是随着对事务和并发的要求越来越高,便引入了InnoDB引擎,它具有支持事务安全等一系列特性。 InnoDB锁模式 InnoDB实现了两种类型的行锁。 共享锁转载 2017-07-11 23:36:10 · 198 阅读 · 0 评论 -
sql for xml path用法
FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作。那么以一个实例为主. 一.FOR XML PATH 简单介绍 那么还是首先来介绍一下FOR XML PATH ,假设现在有一张兴趣爱好表(hobby)用来转载 2017-07-03 13:32:14 · 385 阅读 · 0 评论 -
浅析MySQL中concat以及group_concat的使用
说明:本文中使用的例子均在下面的数据库表tt2下执行:一、concat()函数1、功能:将多个字符串连接成一个字符串。2、语法:concat(str1, str2,...)返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。3、举例:例1:select concat (id, name, score) as info from tt2;...转载 2018-06-11 00:05:26 · 191 阅读 · 0 评论 -
mysql 缓存机制
mysql缓存机制就是缓存sql 文本及缓存结果,用KV形式保存再服务器内存中,如果运行相同的sql,服务器直接从缓存中去获取结果,不需要在再去解析、优化、执行sql。 如果这个表修改了,那么使用这个表中的所有缓存将不再有效,查询缓存值得相关条目将被清空。表中得任何改变是值表中任何数据或者是结构的改变,包括insert,update,delete,truncate,alter table,drop...转载 2019-05-09 23:44:04 · 83 阅读 · 0 评论