条件: 数组有序 每次查找都跟数组中间位置数字比较大小,如果要找的数字比中间位置的数字小,那查找就从【0,中间位置的下标前一个位置】这个范围查找;如果要找的数字比中间位置的数字大,那查找的范围就变成【中间位置下标的下一个位置,最大位置】。如果要找的数字正好等于中间位置上的数字,那就找到了; 时间复杂 ...
分类:
其他好文 时间:
2021-06-02 12:02:48
阅读次数:
0
mysql索引的各种概念 在学习索引的时候,常常会看到回表、覆盖索引、索引下推、页分裂等等概念,本篇就常见概念进行介绍和总结,希望能帮助大家快速掌握这些“高大上”的概念。 目录 mysql索引的各种概念 回表 索引维护——页分裂 覆盖索引 最左匹配原则 前缀索引 索引下推 索引基于B+树,要想更好地 ...
分类:
数据库 时间:
2021-01-06 12:25:41
阅读次数:
0
从MySQL的MRR开始 开始之前,先从MySQL入手,看一下MySQL中的MRR机制原理,也就是Multi-Range Read。MySQL中在按照非聚集索引的范围查找且需要回表的情况下,比如select * from t where c2>100 and c2<200;c2为非聚集索引。如果直接 ...
分类:
数据库 时间:
2020-07-26 00:44:45
阅读次数:
156
一、概述 容器主要包括 Collection 和 Map 两种: Collection 存储着对象的集合 Map 存储着键值对(两个对象)的映射表。 Collection: Map: 1. Set TreeSet: 基于 红黑树 实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 ...
分类:
编程语言 时间:
2020-05-20 14:28:09
阅读次数:
57
MySQL 常见的存储引擎,可以使用 SHOW ENGINES 复制代码 命令,来列出所有的存储引擎 可以看到,InnoDB 是 MySQL 默认支持的存储引擎,支持事务、行级锁定和外键。 MyISAM 存储引擎的特点 在 5.1 版本之前,MyISAM 是 MySQL 的默认存储引擎,MyISAM ...
分类:
数据库 时间:
2020-05-04 01:09:19
阅读次数:
98
偶然在一个公众号上看到一篇对数据库索引的作用进行了通俗易懂的说明,为此特意借鉴过,留作备忘参考。 问题1. 数据库为什么要设计索引? 图书馆存了1000W本图书,要从中找到《架构师之路》,一本本查,要查到什么时候去? 于是,图书管理员设计了一套规则: (1)一楼放历史类,二楼放文学类,三楼放IT类… ...
分类:
数据库 时间:
2020-03-02 10:39:38
阅读次数:
85
Hash索引 (1) 它会使用到hash函数,算出一个确切的值 , 如果key发生变化. hash值也会跟着发生变化. 而且还存在着hash冲突的情况. (2) 联合索引的情况 hash(id+name) = hash值 , 不能支持 部分索引查询和范围查找. 红黑树 (1) 树太高,读取磁盘的次数 ...
分类:
数据库 时间:
2019-12-31 01:12:18
阅读次数:
97
创建索引时使用的索引方式,有btree和hash两种 CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name [index_type] ON tbl_name (key_part,...) [index_option] [algorithm_opt ...
分类:
数据库 时间:
2019-12-30 19:07:30
阅读次数:
390
查找符号 :/var 高亮光标所在的符号用* 替换(substitute) :{作用范围}s/{目标}/{替换}/{替换标志} :%s/foo/bar/g # 在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g, global) :%s/foo/bar/c # 在全局范围(%)查找fo ...
分类:
系统相关 时间:
2019-12-13 19:49:09
阅读次数:
116
1、示例(前提要切到命令状态) ^ 光标移动到行首 $ 光标移动到行尾 set nu 显示行号 :%s/foo/bar/g 会在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g) 参考:关于在vim中的查找和替换 u 撤销刚才的动作 ctrl+r 是恢复刚才撤销的动作 2、命令列表 命 ...
分类:
系统相关 时间:
2019-11-12 09:20:44
阅读次数:
101