首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
electricight
掘友等级
javaBUG开发助理
|
bug-maker
世界上没有bug,写的代码多了,BUG也就出现了
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
8
文章 4
沸点 4
赞
8
返回
|
搜索文章
最新
热门
MySQL-聚簇索引
聚簇索引是一种数据存储方式。 当表有聚簇索引时,它的数据行实际存放在索引的叶子页中(leaf page)。术语“聚簇”表示数据行和相邻的键值紧凑的存储在一起。因为无法同时把数据行存放在两个不同的地方,所以一个表只有一个聚簇索引。 图展示聚簇索引中的记录是如何存放的。需要注意的是…
MySQL-索引
索引可以包含一个或多个列的值。如果索引包含多个列,那么列的顺序也十分重要,因为MySQL只能高效的使用索引的最左前缀列。 上图反映了InnoDB索引是如何工作的。 B-Tree索引能够加快访问数据的速度,因为存储引擎不再需要进行全表扫描来获取需要的数据,取而代之的是从索引的根结…
MySQL-Schema与数据类型优化
一般情况下,应该尽量使用可以正确存储数据的最小数据类型(比如只需要存0-200,选择tinyint unsigned更好)。更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更少。 如果查询中包含可为NULL的列,对MySQL来说更难…
MySQL-存储引擎
InnoDB是MySQL的默认事务型引擎,也是最重要、使用最广泛的存储引擎。它被设计用来处理大量的短期事务。InnoDB的性能和自动崩溃恢复特性,使得它在非事务型存储的需求中也很流行。 InnoDB的数据存储在表空间(tablespace)中,表空间是由InnoDB管理的一个黑…
MySQL-多版本并发控制
MVCC是行级锁的一个变种,但是它在很多情况下避免了加锁,因此开销更低。虽然实现机制有所不同,但大都实现了非阻塞的读操作,写操作也只锁定必要的行。 MVCC的实现,是通过保存数据在某个时间点的快照来实现的。 InnoDB的MVcc,是通过在每行记录后面保存两个隐藏的列来实现的。…
MySQL-事务
为了解决死锁,数据库系统实现了各种死锁检测和死锁超时机制。 InnoDB目前处理死锁的方法是,将持有最少行及排它锁的事务进行回滚。 锁的行为和顺序是和存储引擎相关的。以同样的顺序执行语句,有些存储引擎会产生死锁,有些则不会。死锁的产生有双重原因:1、数据冲突 2、存储引擎实现方…
MySQL-并发控制
共享锁(读锁):也就是共享的,多个线程可以进行叠加。多个线程同一时刻可以同时读取同一个资源,而互不干扰 排它锁(写锁):一个排它锁会阻塞其它线程的共享锁和排它锁。同一时刻,只有一个线程可以读取资源 在给定的资源上,锁定的数据量越少,则系统的并发程度越高,只要相互之间不发生冲突即…
mysql 笔记
每个客户端连接都会在服务器进程中拥有一个线程对于SELECT语句,在解析查询之前,服务器会先检查查询缓存(QueryCache),如果能够在其中找到对应的查询,服务器就不必再执行查询解析、优化和执行的
websocket优化-防抖(golang实现)
线上的devops服务,通过websocket与k8s连接,来查看pod的日志。但是经常出现在打开日志查看后,devops服务占用CPU资源上升的情况。后来经过打印日志,才发现在websocket通信中,pod每产生一条日志,就会通过websocket向devops服务发送日志…
channel使用笔记
无缓冲channel就是在声明的时候不指定大小。 开启一个协程后,main协程向ch写入1,但是此时没有其他协程读取ch,所以阻塞在这里,5s后子协程开始读取ch,main协程便成功写入ch。 如果没有阻塞的话,channel写入完成的时间与channel写入的时间差值一般都不…
下一页
个人成就
文章被点赞
4
文章被阅读
25,005
掘力值
486
关注了
5
关注者
5
收藏集
2
关注标签
9
加入于
2018-08-09