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