02 2022 档案
该文被密码保护。
该文被密码保护。
摘要:FileInputStream in = new FileInputStream("a.txt"); in.skip(9);//skip(long n) 方法,调过文件 n 个字节数 int b = in.read();
阅读全文
该文被密码保护。
该文被密码保护。
该文被密码保护。
摘要:插入 插入单条记录 MySQL 主要使用 INSERT 语句插入数据,基本的语法如下: INSERT INTO table_name(col1, col2, ...) VALUES (val1, val2, ...); 其中,table_name 是表名;VALUES子句中提供的值与INSERT I
阅读全文
摘要:MySQL数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。例如,字符串连接函数可以很方便的将多个字符串连接在一起。 数学函数 -- ABS(X):返回X的绝对值 select A
阅读全文
摘要:MySQL分区表介绍 分区是一种表的设计模式,正确的分区可以极大地提升数据库的查询效率,完成更高质量的SQL编程。但是如果错误地使用分区,那么分区可能带来毁灭性的的结果。 分区功能并不是在存储引擎层完成的,因此不只有InnoDB存储引擎支持分区,常见的存储引擎MyISAM、NDB等都支持分区。但是并
阅读全文
摘要:MySQL强制使用索引:force index(索引名或者主键PRI) 例如: select * from table force index(PRI) limit 2; -- (强制使用主键) select * from table force index(ziduan1_index) limit
阅读全文
摘要:在非覆盖索引场景下,大家知道MySQL索引有最左原则,所以通过 like '%xx%'查询的时候一定会造成索引失效(5.7版本覆盖索引可以走索引),一般采用like 'xx%'右边匹配的方式来索引。 但是这样一定会使用索引吗?答案是否定的,不一定会用。 在覆盖索引下, like '%xx%'和lik
阅读全文
摘要:对于联合索引我们知道,在使用的时候有一个最左前缀的原则,除了这些呢,比如字段放置的位置,会不会对索引的效率产生影响呢? 最左匹配原则 联合索引时会遵循最左前缀匹配的原则,即最左优先,在检索数据时从联合索引的最左边开始匹配,示例: create table test ( id bigint auto_
阅读全文
摘要:MySQL的B+树索引 索引概述 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。 拿汉语字典的目录页(索引)打比方,我们可以按拼音
阅读全文
摘要:Explain 查看SQL执行计划 Explain关键字是Mysql中sql优化的常用关键字,通常都会使用Explain来查看sql的执行计划,而不用执行sql,从而快速的找出sql的问题所在。 我们先创建三个数据表:用户表user、角色表role、以及用户角色关系表role_user -- 用户表
阅读全文
摘要:为什么要主从设置 做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。 架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。 读写分离,使数据库能支撑更大的并发。在报表中尤其重要。
阅读全文
摘要:MySQL的逻辑架构 redo log日志 redo log(重做日志):redo log是InnoDB存储引擎层的日志,用于记录事务操作的变化,记录的是数据修改之后的值,不管事务是否提交都会记录下来。在实例和介质失败(media failure)时,redo log文件就能派上用场,如数据库掉电,
阅读全文
摘要:既然谈到优化,一定想到要从多个维度进行优化。 这里的优化维度有四个:SQL语句及索引、表结构设计、系统配置、硬件配置。 其中SQL语句相关的优化手段一定是最为重要的。 硬件配置 硬件方面的优化可以有对磁盘进行扩容、将机械硬盘换为SSD等等。这个优化手段成本最高,带来的成本却是最高的,见效也较小。 系
阅读全文
摘要:数据结构概述 数据结构是计算机存储、组织数据的方式;通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构的优良将直接影响着我们程序的性能;常用的数据结构有:数组(Array)、栈(Stack)、队列(Queue)、链表(Linked List)、树(Tree)、图(Graph)、堆
阅读全文
摘要:先上图 查询请求的执行流程 众所周知在MySQL数据库应用中查询请求是使用最多的,假设我们输入下面的SQL,通过客户端请求MySQL服务器,会得到一个包含user的结果集。但是,其中MySQL的处理过程我们并不了解,那么下面就让我们一起看看在查询请求前后MySQL服务端发生了些什么吧。 select
阅读全文
摘要:最近的业务中,有这样一个需求:如果数据存在就更新,不存在就写入,一般情况下是需要先查询,后判断是更新还是写入的,需要进行两次IO操作。所以为了减少同步时间,第一个思路是使用并发,第二种思路就是应该尽量减少请求MySQL的次数,这里将讲讲第二种思路。 正常情况下实现:如果存在就更新,不存在就写入的伪代
阅读全文
摘要:聚簇索引并不是一种单独的索引类型,而是一种数据存储方式,具体细节依赖于其实现方式。 MySQL数据库中innodb存储引擎,B+树索引可以分为: 聚簇索引(也称聚集索引,clustered index) 辅助索引(有时也称非聚簇索引或二级索引,secondary index,non-clustere
阅读全文
摘要:索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。 索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。 索引在 MySQL 数据库中分三类
阅读全文
摘要:首先排序算法可以分为内部排序算法和外部排序算法:在内存中进行的称为内部排序算法,也就是这里所说的这十种算法;相应的,当数据量很大时无法全部拷贝到内存需要使用外存,称为外部排序算法。接下来我们可用如下表来简单概括这十种算法: 表中数据说明: 稳定:如果A原本在B前面,而A=B,排序之后A仍然在B的前面
阅读全文
摘要:一个优秀的程序员要想成为一名优秀的架构设计师,就改变编程的思维,学会使用架构设计的思维方式。 架构设计的思维方式有以下几种: 分而治之的思维方式 分而治之,是把一件笼统模糊的事项变得清晰,把复杂的事项变得简单的思维方式。而这正是我们进行架构设计首要达成的目标。 架构设计师必须要学会架构分解,将软件的
阅读全文
摘要:当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。
阅读全文
摘要:背景知识 1、正向代理和反向代理 2、CDN(Content Delivery Network):内容分发网,基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够
阅读全文
摘要:架构中五个重要的核心指标:分别是性能、可用性、伸缩性、扩展性和安全性。 性能 性能就是核心要素之一,不然我为什么架构设计?随随便便一个很low的系统上线就好了。所以性能优化是很多小公司迈不过去的坎。当然优化网站性能的手段也非常多: web前端性能优化 浏览器访问优化 包括浏览器缓存、页面压缩传输、合
阅读全文
摘要:如何设计出一个好的架构,不像数据公式或者定律,很难一概而就。很多时候是设计者(架构师)的各种设想,各种权衡折中而符合系统需求的智慧输出。但我们掌握前人总结的经验,让我们站在巨人的肩膀上高山远瞩。一些好的架构设计原则可以确保设计决策在一定程度上能够满足需求。 形成架构原则的过程 形成架构原则的过程 架
阅读全文
摘要:为什么要有Java内存模型 可见性,由缓存导致的可见性问题。 有序性,由编译优化导致的有序性问题。 原子性,由线程切换导致的原子性问题。 Java内存模型就是为了解决可见性和有序性问题。 什么是Java内存模型(JMM) 注意:JVM内存模型与Java内存模型是两个不一样的东西。 JVM内存模型:具
阅读全文
摘要:Lua简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 从 2.6版本 起, Redis 开始支持 Lua 脚本 让开发者自己扩展 Redis。 Redis中使用Lua的好处: 减少网络开销,在 L
阅读全文
摘要:服务器性能查看 CPU性能查看 查看物理CPU个数: cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l 查看每个物理CPU中的core个数: cat /proc/cpuinfo |grep "cpu cores"|wc -l 逻辑CPU的个数
阅读全文
摘要:作为一名后端程序员,和Linux打交道的地方很多,不会看Linux日志,非常容易受到来自同事和面试官的嘲讽,所以掌握一种或者几种查看日志的方法非常重要。 Linux查看日志的命令有多种:tail、cat、tac、head、echo等,本文只介绍几种常用的方法。 grep命令 Linux 文本操作的三
阅读全文
摘要:基础概念 在mongodb中是通过数据库、集合、文档的方式来管理数据,下边是mongodb与关系数据库的一些概念对比: SQL 术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数
阅读全文
摘要:数据库管理系统 数据的定义:文字、图像、地理位置信息(坐标、经纬度)等。 数据库管理系统的定义:建立、存取和管理数据,保证数据安全和完整性的软件。 常见的数据库管理系统: 关系型:MySQL、Oracle、SQL Server、Db2等 非关系型:MongoDB、Redis、HBase等 NOSQL
阅读全文
摘要:web服务器概述 Web服务器一般指的是“网站服务器”,是某种驻留在因特网上的计算机程序,可以向请求终端提供服务,主要功能时存储、处理和传递网页给“客户”,传递内容一般是HTML文档、图像、样式表或脚本等,也可以放置网站文件以供浏览或下载。 WEB服务器也称为WWW(Word Wide Web)服务
阅读全文
摘要:聚合框架有助于根据搜索查询提供聚合数据。聚合查询是数据库中重要的功能特性,ES作为搜索引擎兼数据库,同样提供了强大的聚合分析能力。它基于查询条件来对数据进行分桶、计算的方法。有点类似于 SQL 中的 group by 再加一些函数方法的操作。聚合可以嵌套,由此可以组成复杂的操作(Bucketing聚
阅读全文
摘要:使用SQL查询ES有一定的局限性,没有原生的Query DSL那么强大,对于嵌套属性和某些函数的支持并不怎么好,但是平时用来查询下数据基本够用了。 在线sql转dsl:http://www.atotoa.com/ elasticsearch-sql插件 注:本人安装的是es 7.x(7.10.2),
阅读全文
摘要:在前面的章节中,我们给大家介绍了索引中的映射类型,也就是每一个字段都有一个类型,比如:long,text,date等。这和我们的数据库非常的相似,那么它的不同之处是什么呢?对了,就是全文索引,在ES当中,只有text类型的字段才会用的全文索引,那么这里就会引出ES中一个非常重要的概念,文本分析器(T
阅读全文

浙公网安备 33010602011771号