- 浏览: 18658 次
- 性别:
- 来自: 上海
最新评论
文章列表
1.索引失效行锁变表锁
2.间隙锁
前段时间系统老是出现insert死锁,很是纠结。经过排查发现是间隙锁!间隙锁是innodb中行锁的一种, 但是这种锁锁住的却不止一行数据,他锁住的是多行,是一个数据范围。间隙锁的主要作用是为了防止出现幻读,但是它会把锁定范围扩大,有时候也会给我们带来麻烦,我们就遇到了。 在数据库参数中, 控制间隙锁的参数是:innodb_locks_unsafe_for_binlog, 这个参数默认值是OFF, 也就是启用间隙锁, 他是一个bool值, 当值为true时表示disable间隙锁。那为了防止间隙锁是不是直接将innodb_locaks_unsafe ...
1.spring boot全局配置文件application.properties
#spring boot的全局配置文件,可以对一些默认配置的配置值进行修改
#默认为8080
server.port=9090
#默认为/
server.context-path=/molianzhonglong
2.starter pom
以下来源于:http://docs.spring.io/spring-boot/docs/1.5.3.BUILD-SNAPSHOT/reference/htmlsingle/
Spring Boot application ...
spring boot之简单demo
- 博客分类:
- springboot
1.新建项目springboot.world
2.pom.xml加入父级依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
添加spring boot 的父级依赖,这样当前的项目就是spring bo ...
mysql之表级锁总结
- 博客分类:
- mysql
锁的定义:
锁是计算机协调多个进程或线程并发访问某一资源的机制
MySQL的表级锁有两种模式:
表共享读锁(Table Read Lock)
表独占写锁(Table Write Lock)
琐类型
读锁
写锁
读锁
是
否
写锁
否
否
结合上表,所以对MyISAM表进行操作会有以下情况:
1.对My ...
转载:http://singo107.iteye.com/blog/1175084
数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。
√: 可能出现 ×: 不会出现
脏读
不可重复读
幻读
Read uncommitted
√
√
√
Read committed
×
√
√
Repeatable read
×
×
√
mysql之show profiles介绍
- 博客分类:
- mysql
1.查看profiling
2.开启profiling
3.查看使用过的sql
4.查看query_id = 2 的情况 若出现以下4种说明sql写的有问题,需要优化
converting HEAP to MyISAM 查询结果太大,内存都不够用了,往磁盘上搬了
Creating tmp table 创建临时表(拷贝数据到临时表,用完在删除)
Copying to tmp table on disk 把内存中临时表复制到磁盘
locked 锁定
show profile 的格式如下:
SHOW PROFILE [type [, type] ...
mysql之高效sql注意
- 博客分类:
- mysql
今天扯淡下我们写sql应该注意些什么,欢迎拍砖,互相学习!!!
注意点说明:
1.全值匹配最好
2.最左前缀法则,如果索引了多列,要遵循最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列
3.不在索引列上做任何操作(计算、函数、自动或手动类型转换),会导致索引失效而转向全表扫描
4.范围条件右边的条件无法使用索引
5.尽量使用覆盖索引(只访问索引的查询,索引列和查询列一致),减少select *
6.使用 !=或<> 无法使用索引会导致全表扫描
7.is null,is not null 也无法使用索引
8.like以 ...
mysql之多表建立索引分析
- 博客分类:
- mysql
一.2张表分析
select * form users left join dept on users.deptId = dept.id
以左边为驱动,左边表的数据自然全有了,所以要再dept表建立id索引,我这举的是个特例了,因为部门表id是主键,自动建立索引了。
二.3张表分析
select * form users left join dept on users.deptId = dept.id left join wages on user.id = wages.user_id
此时需要在部门表id,wages表user_id 建立索引
...
mysql之-explain扯淡
- 博客分类:
- mysql
explain 能分析你写的sql性能高不高,就这样概括下,不服来拍砖!!!
执行计划包含的信息
为什么说他能分析,因为他能干这种事情
1.表的读取顺序
2.数据读取操作的操作类型
3.哪些索引可能被使用
4.哪些索引被 ...
一.索引是什么?
索引Index是帮助mysql高效获取数据的数据结构。可以简单理解为"排好序的快速查找数据结构"
索引的本质:索引是数据结构
索引的目的:提高查询效率
一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上
二.哪些情况需要建索引
1.主键自动建立唯一索引
2.频繁作为查询条件的字段
3.查询中与气体表关联的字段,外键关系
4.查询中排序的字段,排序字段若通过索引去访问将大大提高排序速度
5.单键/组合索引的选择问题(高并发下倾向创建组合索引)
6.查询中统计或者分组字段
三.哪些情况 ...