自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 高频算法面试题_旋转字符串(完整的代码实现)

题目描述1. 给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符’a’和’b’移动到字符串的尾部,使得原字符串变成字符串“cdefab”。请写一个函数完成此功能,要求对长度为n的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。分析与解法方案一:暴力位移(时间复杂度不符合要求)思路 逻辑思路: 1. 把需要移动的字符一个一个的移动到字符串的尾部 代码实现思路: 1. 实现一个函数,可

2021-04-12 14:50:04 207

原创 SQL优化_行构造器表达式优化

行构造器表达式优化行构造函数允许同时比较多个值。例如,以下两个语句在语义上是等效的:SELECT * FROM t1 WHERE (column1,column2) = (1,1);SELECT * FROM t1 WHERE column1 = 1 AND column2 = 1;另外,优化器以相同的方式处理两个表达式。如果行构造器的列不覆盖索引的前缀,则优化器不太可能使用可用索引。考虑下表,该表具有一个主键 (c1, c2, c3):CREATE TABLE t1 ( c1 INT,

2021-03-31 11:52:44 173

原创 优化SQL语句_条件过滤

条件过滤在联接处理中,前缀行是从联接中的一个表传递到下一个表的那些行。通常,优化程序会尝试在连接顺序的早期放置前缀计数较低的表,以防止行组合的数量迅速增加。在某种程度上,优化器可以使用有关从一个表中选择并传递到下一个表的行的条件的信息,它可以更准确地计算行估计并选择最佳执行计划。如果不使用条件过滤,则表的前缀行数将WHERE根据优化器选择的访问方法,根据子句选择的估计行数进行计算 。条件过滤使优化器可以WHERE在访问方法未考虑的子句中使用其他相关条件 ,从而改善其前缀行数估计。例如,即使可能存在基于索

2021-03-31 11:50:23 1033

原创 Mysql_函数调用优化

函数调用优化MySQL函数在内部被标记为确定性或不确定性。如果给定参数固定值的函数可以为不同的调用返回不同的结果,则它是不确定的。不确定函数的示例: RAND(), UUID()。如果某个函数被标记为不确定的,则将WHERE针对每一行(从一个表中选择时)或行的组合(从多表联接中选择时)评估子句中对该函数的引用。MySQL还根据参数的类型(参数是表列还是常量值)确定何时评估函数。每当表列更改值时,都必须评估将表列作为参数的确定性函数。非确定性函数可能会影响查询性能。例如,某些优化可能不可用,或者可能需

2021-03-31 11:49:04 114

原创 Mysql_一致的非锁定读取

一致的非锁定读取甲一致的读取 该装置InnoDB在一个时间点使用多版本存在于查询数据库的快照。该查询将看到在该时间点之前提交的事务所做的更改,而看不到以后或未提交的事务所做的更改。该规则的例外是查询可以看到同一事务中较早的语句所做的更改。此异常导致以下异常:如果更新表中的某些行,则 SELECT查看已更新行的最新版本,但也可能会看到任何行的旧版本。如果其他会话同时更新同一张表,则异常意味着您可能会以数据库中不存在的状态查看该表。如果事务 隔离级别为 REPEATABLE READ(默认级别),则同一事务

2021-03-31 11:47:15 90

原创 Mysql_锁定读取

锁定读取如果查询数据,然后在同一事务中插入或更新相关数据,则常规SELECT 语句不能提供足够的保护。其他事务可以更新或删除刚查询的相同行。 InnoDB支持两种类型的 锁定读取,这些读取提供了额外的安全性:SELECT ... LOCK IN SHARE MODE在读取的任何行上设置共享模式锁定。其他会话可以读取行,但是在事务提交之前不能修改它们。如果这些行中的任何一个被尚未提交的另一个事务更改,则查询将等待直到该事务结束,然后使用最新值。SELECT ... FOR UPDATE对于索

2021-03-31 11:46:09 217

原创 Mysql_事务隔离级别

事务隔离级别事务隔离是数据库处理的基础之一。隔离是缩写ACID中的I ; 隔离级别是一种设置,用于在多个事务同时进行更改和执行查询时微调性能与结果的可靠性,一致性和可重复性之间的平衡。InnoDB报价由SQL描述的所有四个事务隔离级别:1992标准: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ,和 SERIALIZABLE。默认隔离级别InnoDB是 REPEATABLE READ。用户可以使用该SET TRANSACTION语句更改单个会话或所

2021-03-31 11:43:17 93

原创 Mysql_使用InnoDB表的好处

使用InnoDB表的好处您可能会InnoDB因为以下原因而发现表格有益:如果您的服务器由于硬件或软件问题而意外退出,无论当时数据库中发生了什么,重新启动数据库后都无需执行任何特殊操作。InnoDB 崩溃恢复会 自动完成崩溃之前已提交的所有更改,并撤消正在处理但尚未提交的所有更改。只需重新启动,然后从上次中断的地方继续即可。该InnoDB存储引擎维护它自己的 缓冲池,在主内存缓存表和索引数据作为数据被访问。经常使用的数据直接从内存中处理。此缓存适用于多种类型的信息,并加快了处理速度。在专用数据库服务器

2021-03-31 11:39:33 366

原创 Mysql_聚集索引和二级索引

聚集索引和二级索引每个InnoDB表都有一个特殊的索引,称为聚簇索引 ,用于存储行数据。通常,聚簇索引与主键同义 。为了从查询,插入和其他数据库操作中获得最佳性能,您必须了解如何InnoDB使用聚簇索引为每个表优化最常见的查找和DML操作。在PRIMARY KEY表上定义a 时,InnoDB将其用作聚簇索引。为您创建的每个表定义一个主键。如果没有逻辑唯一且非空的列或列集,请添加一个新的 自动递增 列,其值将自动填充。如果您没有PRIMARY KEY为表定义a ,则MySQL将UNIQUE在所有键列所

2021-03-31 11:36:52 181

原创 Mysql_幻影读

幻影读当同一查询在不同时间产生不同的行集时,在事务内就会发生 所谓的幻像问题。例如,如果一个 SELECT执行两次,但是第二次返回的行却不是第一次返回,则该行是“ phantom ”行。假设id该child表的列上有一个索引,并且您想要读取和锁定该表中所有标识符值大于100的行,以期稍后更新所选行中的某些列:SELECT * FROM child WHERE id > 100 FOR UPDATE;该查询从id大于100的第一条记录开始扫描索引 。让表包含具有id90和102值的行。如果在扫

2021-03-31 11:35:31 197

原创 Mysql_撤消日志(Undo Logs)

撤消日志(Undo Logs)撤消日志是与单个读写事务关联的撤消日志记录的集合。撤消日志记录包含有关如何撤消事务对聚簇索引 记录的最新更改的信息。如果另一个事务需要将原始数据视为一致读取操作的一部分,则将从撤消日志记录中检索未修改的数据。撤消日志存在于 撤消日志段中,撤消日志段中包含 撤消日志段。回滚段位于 系统表空间,撤消表空间和临时表空间中。驻留在临时表空间中的撤消日志用于修改用户定义的临时表中的数据的事务。这些撤消日志未重做记录,因为崩溃恢复不需要它们。它们仅在服务器运行时用于回滚。这种类型的撤消

2021-03-31 11:12:43 147

原创 Elasticsearch学习之路(六)_Mapping

什么是Mapping1. Mapping 类似数据库中的Schema的定义,作用如下 1. 定义索引中字段的名称 2. 定义字段的数据类型,例如字符串,数字,布尔 3. 字段,倒排索引的相关配置2. Mapping会把JSON文档映射成Lucene所需要的扁平格式3. 一个Mapping属于一个索引的Type 1. 每个文档都属于一个索引的Type 2. 一个Type有一个Mapping定义 3. 7.0开始,不需要在Mapping定义中指定Type信息什么是Dynamic Mappi

2021-03-29 16:56:22 127

原创 从浏览器输入http://www.baidu.com,到看到百度主页的过程中到底发生了什么?

从浏览器输入http://www.baidu.com,到看到百度主页的过程中到底发生了什么?网络模型1. 根据网络七层模型,浏览器和服务器都可以认为是应用层的一个应用,2. 所以本质上来说就是从一个应用层到另外一个应用层的过程,在我们这个过程中主要采用的http协议进行通信HTTP协议(简单介绍) HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范 1. http的请求规范: 请求行(请求类型,欲访问资源,协议版本)

2021-03-27 15:51:58 2874

原创 Elasticsearch学习之路(五)_SearchAPI

Search API指定查询的索引1. 我们需要在URL中带上_search来表示这次操作是个查询操作语法范围/_search集群上所有的索引/index1/_searchindex1/index1,index2/_searchindex1和index2/index*/_search以index开头的索引URI Search# 以GET请求在URL中使用查询参数# 使用“q”,指定查询字符串 query string syntax 是kv键值对

2021-03-26 16:16:01 179

原创 Elasticsearch学习之路(四)_文档的CRUD

文档的CRUD Elasticsearch通过REST API进行文档的CRUD操作API示例备注IndexPUT my_index/_doc/1 {“user”:“mike”,“comment”:“评论”}Type名,约定都用_docIndex:如果ID不存在,创建新的文档,否则,先删除现有的文档,再创建新的文档,版本会增加CreatePUT my_index/_create/1 {“user”:“mike”,“comment”:“评论”}PUT my_inde

2021-03-25 17:34:32 140

原创 Elasticsearch学习之路(三)_Elasticsearch相关概念

Elasticsearch相关概念文档1. elasticsearch是面向文档的,文档是所有可搜索数据的最小单位,例如: 1. 日志文件中的日志项 2. 一本电影的具体信息 / 一张唱片的详细信息 3. MP3播放器里的一首歌 / 一篇PDF文档中的具体内容2. 文档会被序列化为Json格式,保持在elasticsearch中 1. Json对象有字段注册 2. 每个字段都有对应的字段类型(字符串,数值,布尔,日期,二进制,范围类型)3. 每个文档都有一个 uniqueID 1. 你可

2021-03-24 17:25:10 158

原创 Elasticsearch学习之路(二)_Elasticsearch安装与简单配置

Elasticsearch安装与简单配置1. Elasticsearch基于java开发,所以需要安装JDK并设置$JAVA_HOME (Elasticsearch7开始内置了java)2. 各版本对java的依赖 1. Elasticsearch5 需要从Java 8以上的版本 2. Elasticsearch 从6.5开始支持Java 11 3. Elasticsearch 7开始内置了java环境安装(以mac为例,不同系统可以参考官网的示例)1. 下载源码包安装1. 到官网下载源码

2021-03-24 16:51:02 322

原创 Elasticsearch学习之路(一)_Elasticsearch生态圈

Elasticsearch生态圈Elasticsearch主要功能1. 海量数据的分布式存储和集群管理 1. 服务和数据的高可用,水平扩展2. 近实时搜索,性能卓越 1. 结构化/全文/地理位置/自动完成3. 海量数据的近实时分析 1. 数据聚合Elastic Stack家族成员以及应用场景Logstash(做日志采集与处理)1. 开源的服务器端数据处理管道,支持从不同的来源采集数据,转换数据,并将数据发送到不同的存储库中2. 实时解析和转换数据 1. 从IP地址破译出地理坐标

2021-03-24 16:36:31 129

原创 InnoDB的排序索引构建

InnoDB的排序索引构建InnoDB创建或重建索引时,执行一次批量加载,而不是一次插入一个索引记录。这种索引创建方法也称为排序索引构建。空间索引不支持排序索引构建。索引构建分为三个阶段。在第一阶段,将 扫描聚簇索引,并生成索引条目并将其添加到排序缓冲区。当排序缓冲区已满时,将对条目进行排序并将其写到临时中间文件中。此过程也称为 “ 运行 ”。在第二阶段中,将一个或多个运行写入临时中间文件,对文件中的所有条目执行合并排序。在第三个也是最后一个阶段,将已排序的条目插入 B-tree中。在引入排序的索引版

2020-09-21 13:57:07 270

转载 【Scikit-Learn 中文文档】模型持久化 - 模型选择和评估 - 用户指南 | ApacheCN

中文文档: http://sklearn.apachecn.org/cn/stable/modules/model_persistence.html英文文档: http://sklearn.apachecn.org/en/stable/modules/model_persistence.html官方文档: http://scikit-

2017-12-04 17:34:47 73

转载 【Scikit-Learn 中文文档】密度估计 - 无监督学习 - 用户指南 | ApacheCN

中文文档: http://sklearn.apachecn.org/cn/stable/modules/density.html英文文档: http://sklearn.apachecn.org/cn/stable/modules/density.html官方文档: http://scikit-learn.org/stable/

2017-11-30 16:57:04 100

图说设计模式.pdf.zip

图说设计模式,通俗易懂,附有大量代码示例

2021-03-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除