简介索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。 举例说明索引:如果把数据库中的某一张看成一本书,那么索引就像是书的目录,可以通过目录快速查找书中指定内容的位置,对于数据库表来说,可以通过索引快速查找表中的数据。索引的原理索引一般以文件形式存在磁盘中(也可以存于内存中),存储的索引的原理大致概括为以空间换时间,数据库在未添加索引的时候进行查询默认的是
作者:张飞洪经常有同学问我,我的一个SQL语句使用了索引,为什么还是会进入到慢查询之中呢?今天我们就从这个问题开始来聊一聊索引和慢查询。案例剖析 为了实验,我创建了如下表:CREATE TABLE `T`( `id` int(11) NOT NULL, `a` int(11) DEFAUT NULL, PRIMARY KEY(`id`), KEY `a`(`a`) ) ENGINE=InnoDB;
所谓索引就是为特定的mysql字段进行一些特定的算法排序,比如二叉树的算法和哈希算法,哈希算法是通过建立特征值,然后根据特征值来快速查找,而用的最多,并且是mysql默认的就是二叉树算法 BTREE,通过BTREE算法建立索引的字段,比如扫描20行就能得到未使用BTREE前扫描了2^20行的结果,具体的实现方式后续本博客会出一个算法专题里面会有具体的分析讨论; Explain优化查询检测 EXPL
     学习任何技术都有其存在的价值与意义,只有明白为什么要使用这种技术,它能为我们带来什么遍历,才能真正掌握它。     1. 数据库索引是什么?索引是用于提高数据检索效率的技术,由于数据在数据库中是以表格形式进行,所以索引是建立在每一个表格上,是由表格中的一个或者多个字段生成的键组成,这些键储存在B-tree或者hash表形式的数据
1、SqlServer字段类型SqlServer字段类型详解2、索引2.1、什么是索引索引是与表或视图关联的独立的、物理的数据库结构,可以加快从表或视图中检检索行的速度。 索引包含由表或视图中的一列或多列生成的键。 这些键存储在一个结构(B树)中,是SQL Server 可以快速有效地查找与键值关联的行。 数据库中的索引与书籍的目录非常相似,在数据库中索引使数据库程序无需对整个表进行扫描, 就
OSPF是一种配置上比较复杂的协议, 所以在实际操作中非常容易出错,这里介绍一下OSPF的一些常见错误和排查方法:   一、OSPF 邻居关系无法建立   这是实际工程中最为常见的错误,对于这种错误需要到以下命令进行排查:   首先需要使用的命令是Show ip ospf interface,这条命令输出信息中能够影响到O
## 检查 MySQL 配置文件是否生效的步骤 以下是检查 MySQL 配置文件是否生效的步骤,可以用表格展示: | 步骤编号 | 步骤名称 | 代码示例 | |----------|------------------------------|--------------------------------|
原创 2023-08-19 09:31:18
262阅读
如何检查 Axios 的 Timeout 是否生效 ## 引言 在开发 Web 应用程序时,我们经常需要与服务器进行通信,而 Axios 是一个流行的 JavaScript 库,用于发送 HTTP 请求。其中一个常见的需求是设置请求的超时时间,以避免长时间的等待导致用户体验下降。本文将解释如何使用 Axios 发送带有超时的请求,并检查超时是否生效。 ## 使用 Axios 发送带有超时的请
原创 7月前
105阅读
MySQL索引(index)一、概念二、作用三、使用场景四、使用4.1 查看索引4.2 创建索引4.3 删除索引4.4 索引的使用五、索引在MySQL中的底层 一、概念索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。二、作用数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系。索
SQL Server提供了多种方法来查看执行计划以及索引生效情况。下面将介绍一些常用的方法。 **1. 使用SQL Server Management Studio(SSMS)** SQL Server Management Studio是一个用于管理、查询和维护SQL Server数据库的集成环境。它提供了一个直观的界面来查看执行计划和索引信息。 首先,将查询粘贴到SSMS的查询窗口中。然
原创 9月前
133阅读
索引的使用索引是数据库优化最常用也是最重要的手段之一, 通过索引通常可以帮助用户解决大多数的MySQL的性能优化问题。1 验证索引提升查询效率在我们准备的表结构tb_item 中, 一共存储了 300 万记录;A. 根据ID查询select * from tb_item where id = 1999\G;查询速度很快, 接近0s , 主要的原因是因为id为主键, 有索引;2). 根据 title
严格来说,like '%abc'本身是不能使用索引的,但是一条SQL语句有没有使用索引,要看这条SQL语句整体写的是什么,like不是疫情期间的新冠病毒,沾上一点儿就会把索引隔离开。只要你明白自己在干什么,完全可以使用like。like的简单说明like这个查询条件其实用代码很好说明。比如一个查询是select id, name from user,我们把查询的返回的结果放在一个数组里,like
一、负载均衡概述在网站创立初期,我们一般都使用单台机器对外提供集中式服务;但是随着业务量的增大,无论是性能上还是稳定性上都会面临更大的挑战;这时我们就会通过增加服务器的方式来提供更好的服务,即我们会把多台机器组成一个集群对外提供服务;但是,我们网站对外提供的访问入口通常只有一个,比如 www.163.com;那么当用户在浏览器输入www.163.com进行访问的时候,如何将用户的请求分发到集群中不
# Linux上Java导入证书生效性检查方案 在许多Java应用程序中,为了保护数据传输,常常需要对SSL/TLS证书进行管理。无论是与外部服务通信,还是在自己构建的服务中,确保证书的正确导入和生效至关重要。本文将介绍在Linux上如何检查Java程序中导入的证书是否生效,并提供相关的代码示例。 ## 1. 项目背景 当我们在Java应用中使用HTTPS请求时,JDK会尝试查找并验证相关的
原创 1月前
29阅读
Nginx配置及优化3一、网页状态页二、nginx第三方模块2.1、echo模块三、变量3.1、内置变量3.1.1、常用的内置变量3.1.2、举个例子3.2、自定义变量四、自定义访问日志优化4.1、自定义访问日志的格式4.2、自定义json格式日志五、nginx压缩功能六、HTTPS功能6.1、nginx的HTTPS工作原理的详解6.2、启用功能模块的配置过程七、自定义图标 一、网页状态页ngi
# Spring RedisTemplate 没有生效 ## 前言 在现代的软件开发中,缓存是经常用到的技术之一。而在Java开发中,Redis是一个非常流行的缓存数据库。Spring框架提供了 `RedisTemplate` 类来简化与Redis的交互。但是有时候会遇到 `RedisTemplate` 没有生效的情况,本文将详细介绍可能导致这种情况的原因,并给出解决方案。 ## Redis
原创 4月前
88阅读
创建 Vertex Buffer本章节代码文件是 13-init_vertex_buffer.cppvertex buffer 是 CPU 和 GPU 都可见的缓冲区,它包含描述你想要渲染的物体网格的顶点数据。一般来说,顶点数据包含位置数据(x,y,z)和可选颜色,法线,或其他信息。像其他 3D API一样,这里的方法是用顶点数据填充缓冲区,然后在绘制操作中传递给 GPU。创建 Vert
转载 5月前
63阅读
# Java 事务没有生效的原因及解决方法 在开发Java应用程序时,我们经常会使用事务来确保对数据库的操作是原子性、一致性、隔离性和持久性的。然而,有时候我们会遇到事务没有生效的情况,导致数据操作出现异常或不符合预期的情况。本文将介绍Java事务没有生效的可能原因,并提供解决方法。 ## 原因分析 1. **未开启事务**:在Java中,我们需要通过注解或编程方式开启事务。如果忘记在方法上
原创 4月前
58阅读
记录spring中Transactional事务注解失效的六个场景方法内的自调用原因:通过this内部调用其他带有@Transactional注解的方法,是通过this进行调用,并没有通过cglib代理对象进行调用,导致方法未被增强导致无法检测内部事务解决方法:通过实现类内部自己注入自己的bean实现调用内部方法,以调用cglib增强的代理方法。或者通过AopContext.currentProx
## 解决dockerfile env没有生效的问题 作为一名经验丰富的开发者,我可以帮助你解决dockerfile env没有生效的问题。在开始解决问题之前,我们先来了解一下整个过程的流程。 ### 流程图 ```mermaid flowchart TD A(创建Dockerfile文件) --> B(设置环境变量) B --> C(构建Docker镜像) C --
原创 6月前
309阅读
  • 1
  • 2
  • 3
  • 4
  • 5