![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sql
maybe宸
在有限的时光里,多做有意义的事。
展开
-
mysql索引的数据结构
之前写过一个关于数据库索引的博客,今天继续说一下关于索引的几种类型。 如果使用navicat建立过索引的应该都知道,他会给你一个选项,选择是建立hash还是b+tree类型的。 那么他们到底有什么不同呢。其实这得从数据结构说起。 hash 顾名思义,所以会出现hash冲突问题,并且数据是属于k-v格式,所以适合快速精准查询不支持范围查询。 如果用于做索引的话,那么局限性就比较大了。 我...原创 2020-04-24 23:11:39 · 148 阅读 · 0 评论 -
MySql数据库索引
一直觉得自己的sql方面有点欠缺,所以今天来写一点关于sql索引的,如有错误请指正。 什么是索引 索引是一个特殊的文件,他包含当前数据表的所有数据的引用指针。 可以把索引比作目录,帮助快速定位你想找到的内容。省的去从头开始挨个寻找了。 索引优缺点 优点 大大加快查询速度 缺点 提高查询速度的同时,会降低数据的更新(i...原创 2019-02-08 20:20:15 · 190 阅读 · 0 评论 -
Sql常用语法总结
目录 查询select 添加insert 修改update 删除delete 去重查询distinct 条件查询where子句 and&or运算符 排序order by 模糊查询like 通配符%和_ 范围值查询in 中间范围值查询between and 设置别名 as(可省略) 添加表(表备份) Oracle中使用select into MySql中使用...原创 2019-02-12 21:19:13 · 409 阅读 · 0 评论 -
sql性能优化
1,开启mysql的缓存功能 可以让数据库缓存查询结果后续的同样查询会直接去缓存,而不是查询数据库。 方法:使用show VARIABLES like '%query_cache%'; 查看query_cache_type字段。如果为off,修改配置文件相应字段。 2,使用limit 当已知结果必然只有一条时,使用limit 1,让查询操作找到1条时立刻停止,而不是还继续寻找遍历。这...原创 2019-03-05 13:40:24 · 168 阅读 · 1 评论 -
mysql 事务ACID
事务4个特性 1,原子性 当前事务中所有sql,要么全部执行成功,要么全部不执行。 2,一致性 事务执行前后,不能破坏逻辑有一致性。 比如:A转账给B,A转出了,B转入时异常了。这样必须全部回滚,不然不符合一致性。也不符合原子性。这个操作应该是一个原子性的。 3,隔离性 隔离性涉及到事务的4个隔离级别。后面会说到。 4,持久性 事务一旦提交就不能被回滚。 事务隔离级别 ...原创 2019-05-23 09:41:06 · 150 阅读 · 2 评论 -
mysql 行锁
mysql行锁 说行锁钱先说一下锁分表锁还有行锁,这里重点说mysql行锁。 mysql行锁是通过索引来进行锁定的,目的是增大数据库并发能力,减少因为表锁造成的超时问题。但同时带来一个新问题就是容易造成死锁。所以使用时要注意。 mysql行锁必须走索引,不然会走表锁,这是触发条件。 行锁类型 共享锁:也称读锁 排它锁:也称写锁 锁冲突 共享锁和排它锁不可共存 排它锁和任何锁不可共...原创 2019-05-23 10:03:05 · 1123 阅读 · 0 评论 -
mysql innodb引擎学习
最近回头看了一下《mysql从入门到放弃》这本书,专门看了看我们经常使用的innodb引擎,现在记录一下学习的内容吧。 有错误请指正。 Mysql5.5后默认引擎为innodb innodb特性 innodb支持事务,支持行锁,支持外键。是一个专门为大容量存储设计的存储引擎。默认索引b+tree。 关于事务,可以参照:mysql 事务ACID 关于行锁,可以参照: mysql 行锁 ...原创 2019-05-23 10:04:06 · 340 阅读 · 3 评论