架构师之路年终总结(七)-MySQL篇今年(去年)写了几万字关于MySQL的文章,年终稍作总结,希望对大家有帮助。1.索引到底是怎么实现的?这两篇文章很重要,讲解MySQL索引底层实现,也是阅读量最高的几篇之一。《数据库索引,到底是什么做的?》这一篇,介绍了哈希索引,树索引,数据预读/局部性原理,B+树的优化思路。《MyISAM与InnoDB的索引差异究竟是啥?》在上一篇基础之上,用图例讲述了My
分类:
数据库 时间:
2020-11-16 13:54:38
阅读次数:
11
执行代码 # PUT请求: http://IP地址:端口/t1 { "settings": { "index": { "number_of_shards": "2", "number_of_replicas": "0" } }, "mappings": { "person": { "properti ...
分类:
其他好文 时间:
2020-11-16 13:50:38
阅读次数:
8
《MySQL死锁分析的两个工具》中,举了一个强制类型转换导致死锁的例子,有朋友询问是不是类型转换都不能命中索引,花1分钟细说一下。第一类:“列类型”与“where值类型”不符,不能命中索引,会导致全表扫描(fulltablescan)。数据准备:createtablet1(cellvarchar(3)primarykey)engine=innodbdefaultcharset=utf8;inser
分类:
其他好文 时间:
2020-11-16 13:16:28
阅读次数:
3
目录 1. 什么是进程 2. 进程模型 2.1 PCB 2.2 进程状态 2.2.1 五状态模型 2.2.2 七状态模型 2.2.3 进程切换 2.3 进程组织 2.3.1 线性表 2.3.2 链表 2.3.3 索引 3. 线程 3.1 线程结构 3.2 线程状态 4.进程调度 4.1 几种调度方式 ...
分类:
系统相关 时间:
2020-11-13 13:19:28
阅读次数:
32
JUC 下面还有一个系列的类,都是 CopyOnWriteXXX ,意思是写时复制,这个究竟是怎么回事?那就以 CopyOnWriteArrayList 为切入点,一起了解写时复制是怎么回事? ...
分类:
其他好文 时间:
2020-11-13 13:18:21
阅读次数:
34
mongodb 官方的go驱动包 go.mongodb.org/mongo-driver 使用起来比较繁琐,最近对其进行了二次封装 github地址:https://github.com/w3liu/go-common/tree/master/store/mongo测试用例如下: func Test ...
分类:
数据库 时间:
2020-11-13 13:16:09
阅读次数:
40
数据结构:集合,线性结构,树形结构,图形结构 集合:纯粹的集合 线性结构:一对一 数组 树形结构:一对多 菜单/文件夹/树形控件 图形结构:多对多,地图/拓扑图/物流 常见数据结构: Array/ArrayList/List/LinkedList/Queue/Stack/HastSet/Sorted ...
常用的存储引擎有以下: Innodb引擎:Innodb引擎提供了对数据库ACID事务的支持。并且还提供了行级锁和外键的约束。它的设计的目标就是处理大数据容量的数据库系统。 MyIASM引擎(原本Mysql的默认引擎):不提供事务的支持,也不支持行级锁和外键。 MEMORY引擎:所有的数据都在内存中, ...
分类:
数据库 时间:
2020-11-12 14:01:35
阅读次数:
9
更换项目位置利用集合的更换函数 swap(),移动项目到指定位置,其他所有项目后移要实现这个没有现成的方法可用,上面的swap只会下拉交换两个项目,中间的项目索引不会发生变化,这里分三步实现1.取出要移动的列表项目2.移除此项目3.添加此项目到指定位置 ...
分类:
移动开发 时间:
2020-11-12 13:58:39
阅读次数:
16
查找admin集合下前10条数据: db.admin.find().limit(10); 插入数据 > post={table: "activityzones", ... fields: [ ... { ... name: "_id", ... type: "ObjectId", ... hidde ...
分类:
数据库 时间:
2020-11-12 13:54:07
阅读次数:
13