随笔分类 -  数据库

摘要:悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特别是对长事务而言,这样的开销往往无法承受。所以与悲观锁相对的,我们有 阅读全文
posted @ 2020-03-31 11:36 不死码农 阅读(4195) 评论(1) 推荐(0) 编辑
摘要:CAS:Compare and Swap, 翻译成比较并交换。 java.util.concurrent包中借助CAS实现了区别于synchronized同步锁的一种乐观锁。 其原理是CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否 阅读全文
posted @ 2020-03-31 10:29 不死码农 阅读(1511) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-03-30 16:36 不死码农 阅读(596) 评论(0) 推荐(0) 编辑
摘要:MySQL配置文件my.ini或my.cnf的位置 1、Windows下MySQL的配置文件是my.ini,一般会在安装目录的根目录。 2、Linux下MySQL的配置文件是my.cnf,一般会放在/etc/my.cnf,/etc/mysql/my.cnf。如果找不到,可以用find命令查找。 3、 阅读全文
posted @ 2020-02-03 16:36 不死码农 阅读(10303) 评论(0) 推荐(0) 编辑
摘要:序今天听同事说UNION 和 UNION ALL的区别,遂自己来简单研究一番;研究先说结论,因为UNION 操作会对结果去重且排序,所以从速度来说, UNION ALL会更胜一筹。建两张表,分别插入几条数据: 这两张表唯一的不同就是数据中,一个是“王五”,一个是“老六”。 使用union all 可 阅读全文
posted @ 2019-12-31 15:19 不死码农 阅读(415) 评论(0) 推荐(0) 编辑
摘要:分表分库 当项目比较大的时候,基本上都会进行分表分库的 后面就讲讲什么时候需要分库,什么时候需要分表 什么时候需要分库 垂直分割 垂直拆分就是要把表按模块划分到不同数据库表中(当然原则还是不破坏第三范式),这种拆分在大型网站的演变过程中是很常见的。当一个网站还在很小的时候,只有小量的人来开发和维护, 阅读全文
posted @ 2019-12-25 08:39 不死码农 阅读(2539) 评论(0) 推荐(0) 编辑
摘要:什么是B+树? 历史: 1:全部遍历 2:hash 3 :二叉树 4 :平衡二叉树(avl) 5 :B树 6:b+树 加速查找速度的数据结构: (1)哈希:例如hashMap,查询/修改/插入/删除的平均时间复杂度是O(1); (2)树:例如平衡二叉树,查询/修改/插入/删除的平均时间复杂度是O(l 阅读全文
posted @ 2019-11-29 09:09 不死码农 阅读(151) 评论(0) 推荐(0) 编辑
摘要:MySQL开启慢查询 MYSQL慢查询配置 1. 慢查询有什么用? 它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化. 2. 如何开启慢查询? 首先我们先查看MYSQL服务器的慢查询状态是否开启.执行如下命令: 我们可以看 阅读全文
posted @ 2019-11-15 09:06 不死码农 阅读(2244) 评论(0) 推荐(0) 编辑
摘要:优化目标 减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当然,也是收效最明显的优化手段。 降低 CPU 计算除了 IO 瓶颈之外,SQL优化中需要考虑的就是 阅读全文
posted @ 2019-11-13 08:59 不死码农 阅读(671) 评论(0) 推荐(0) 编辑
摘要:MySQL Explain详解 在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来 阅读全文
posted @ 2019-11-13 08:45 不死码农 阅读(42332) 评论(0) 推荐(6) 编辑

点击右上角即可分享
微信分享提示