mysql
iteye_20575
这个作者很懒,什么都没留下…
展开
-
mysql之七种sql理论
1.七种join理论原创 2017-03-21 23:52:13 · 192 阅读 · 0 评论 -
mysql之索引
一.索引是什么?索引Index是帮助mysql高效获取数据的数据结构。可以简单理解为"排好序的快速查找数据结构"索引的本质:索引是数据结构索引的目的:提高查询效率一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上 二.哪些情况需要建索引1.主键自动建立唯一索引2.频繁作为查询条件的字段3.查询中与气体表关联的字段,外键关...2017-03-22 00:04:38 · 72 阅读 · 0 评论 -
mysql之-explain扯淡
explain 能分析你写的sql性能高不高,就这样概括下,不服来拍砖!!! 执行计划包含的信息 为什么说他能分析,因为他能干这种事情1.表的读取顺序2.数据读取操作的操作类型3.哪些索引可能被使用 4.哪些索引被实际使用5.表之间的引用6.每张表有多少行被优化器查询 id select查询的序列号,表示查询中执行select子句或操作表的顺...原创 2017-03-23 11:04:54 · 73 阅读 · 0 评论 -
mysql之多表建立索引分析
一.2张表分析 select * form users left join dept on users.deptId = dept.id 以左边为驱动,左边表的数据自然全有了,所以要再dept表建立id索引,我这举的是个特例了,因为部门表id是主键,自动建立索引了。 二.3张表分析 select * form users left join dept on ...2017-03-24 22:36:53 · 1029 阅读 · 0 评论 -
mysql之高效sql注意
今天扯淡下我们写sql应该注意些什么,欢迎拍砖,互相学习!!! 注意点说明:1.全值匹配最好2.最左前缀法则,如果索引了多列,要遵循最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列3.不在索引列上做任何操作(计算、函数、自动或手动类型转换),会导致索引失效而转向全表扫描4.范围条件右边的条件无法使用索引 5.尽量使用覆盖索引(只访问索引的查询,索...2017-03-25 22:42:22 · 151 阅读 · 0 评论 -
mysql之show profiles介绍
1.查看profiling 2.开启profiling 3.查看使用过的sql 4.查看query_id = 2 的情况 若出现以下4种说明sql写的有问题,需要优化converting HEAP to MyISAM 查询结果太大,内存都不够用了,往磁盘上搬了Creating tmp table 创建临时表(拷贝数据到临时表,用完在删除)Copyi...2017-03-27 15:07:27 · 175 阅读 · 0 评论 -
数据库事务隔离级别
转载:http://singo107.iteye.com/blog/1175084 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。 √: 可能出现 ×: 不会出现 脏读...原创 2017-03-27 15:58:45 · 76 阅读 · 0 评论 -
mysql之表级锁总结
锁的定义:锁是计算机协调多个进程或线程并发访问某一资源的机制 MySQL的表级锁有两种模式:表共享读锁(Table Read Lock)表独占写锁(Table Write Lock) 琐类型 读锁 写锁 读锁 是 ...2017-03-27 16:28:39 · 73 阅读 · 0 评论 -
mysql之行锁
1.索引失效行锁变表锁 2.间隙锁前段时间系统老是出现insert死锁,很是纠结。经过排查发现是间隙锁!间隙锁是innodb中行锁的一种, 但是这种锁锁住的却不止一行数据,他锁住的是多行,是一个数据范围。间隙锁的主要作用是为了防止出现幻读,但是它会把锁定范围扩大,有时候也会给我们带来麻烦,我们就遇到了。 在数据库参数中, 控制间隙锁的参数是:innodb_locks_unsafe_...2017-03-29 10:13:13 · 123 阅读 · 0 评论