mysql查询缓存的原理

,1、说明,MYSQL的查询缓存本质上是缓存SQL的hash值和该SQL的查询结果,如果运行相同的SQL,服务器将直接从缓存中删除结果,不再分析、优化、最低成本的执行计划等一系列操作。,2、实例,查询...
3年前
720

mysql代理架构是什么

,1、概念,通过独立的中间件来统一管理所有数据源和数据分片整合,后端数据库集群对前端应用程序透明,需要独立部署和运维代理组件。,代理组件为了分流和防止单点,一般以集群形式存在,同时可能需要 Zooke...
3年前
600

mysql分析器如何理解

,说明,1、根据mysql语法写出sql后交给服务层,分析器对sql语句进行词法分析和语法分析。,2、mysql分析器使用mysql语法规则进行验证和分析查询。,例如验证是否使用错误的关键字,或者使用...
3年前
540

mysql Binlog日志是什么

,说明,1、记录了所有的DDL和DML语句(除了数据查询语句select、show等),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。binlog的主要目的是复制...
3年前
530

mysql整数类型的介绍

,说明,1、对于整数类型,MySQL支持在类型名称后面指定显示宽度(n)。,2、所有整数类型都有可选属性UNSIGNED。如果需要在字段中保存非负值或上限值较大,可以使用该选项。,当列被指定为zero...
4年前
530

mysql常见的优化类型

,1、重新定义关联表的顺序。,数据表中的关联并不总是按照查询中指定的顺序进行,决定关联顺序是优化器的重要功能。,2、将外连接转化为内连接。,并非所有的outerjoin语句都必须以外部连接的方式执行...
4年前
510

mysql直方图是什么

,1、直方图是数据的分布形式。如果按姓名的字母顺序排序,可以把字母A到F开头的人放入逻辑桶。,将G到J开头的人放入另一个等等。优化器会假设数据在列中均匀分布,但实际使用时大多不均匀。,2、MySQL提...
3年前
490

mysql绑定变量是什么

,说明,1、绑定变量的SQL,使用问号标记可以接收参数的位置,当真正需要执行具体查询的时候,则使用具体值代替这些问号。,2、创建绑定变量SQL时,客户端向服务器发送SQL语言的原型。服务器方面收到这个...
4年前
460

mysql光标如何使用

,说明,1、使用光标前,必须声明(定义)。,2、声明后,必须打开游标才能使用。,3、打开后,根据需要使用光标。,4、光标使用后,必须关闭。,实例,以上就是mysql光标的使用,希望对大家有所帮助。 更...
4年前
450

mysql分区表的介绍

,说明,1、对于用户来说,分区表是一个独立的逻辑表,但底层由多个物理子表组成。,实现分区的代码实际上是通过封装一组底层表的对象,但对于SQL层来说,它是一个完全封装底层的黑盒。MySQL实现分区的方式...
4年前
430

mysql中LIMIT分页如何优化

,优化方法,1、使用覆盖索引扫描,而不是查询所有的列。然后根据需要做一次关联查询再返回所有的列。,2、对于偏移量很大时,这样做的效率会提升非常大。,实例,以上就是mysql中LIMIT分页的优化方法...
4年前
400

mysql触发器如何使用

,说明,1、触发器也是存储过程程序的一种,而触发器内部的执行SQL语句是可以多行操作的。,2、在MySQL的存储过程程序中,要定义结束符。,语法,before/after:触发器是在增删改之前执行,还...
3年前
390

mysql分库是什么

,1、 将原本存储在一个库的表分割存储在多个仓库中。,一个库的表太多,导致大量数据、系统性能下降。通常将表按功能模块、关系密切程度分割,配置在不同的库中。,2、分库原因,单库无法解决大规模并发写入的问...
4年前
390

MySQL8新特性窗口函数详解

本文博主给大家详细讲解一波 MySQL8 的新特性:「窗口函数」,相信大伙看完一定能有所收获?。,MySQL8 窗口函数是一种特殊的函数,它可以在一组查询行上执行类似于聚合的操作,但是不会将查询行折叠...
2年前
370

mysql模式匹配的理解

,说明,1、MySQL提供SQL模式匹配,和一种基于类Unix里的程序。,如vi、grep和sed里的扩展正则表达式模式匹配的格式。,2、SQL模式匹配允许使用任何单个字符或任意数目字符(包括零字符...
4年前
360

mysql视图如何使用

,我们一般会将视图用于查询功能,有些不能使用的功能,新手小伙伴是很容易踩雷的,接下来我们看看Mysql视图具体的使用方法。,1、视图相当于虚拟表,使用时可以直接作为表使用。,查询视图表数据,2、视图一...
5年前
360

MySQL连接离奇挂死,竟不是连接池的锅……

一、背景 近期由测试反馈的问题有点多,其中关于系统可靠性测试提出的问题令人感到头疼,一来这类问题有时候属于“偶发”现象,难以在环境上快速复现;二来则是可靠性问题的定位链条有时候变得很长,极端情况下可能...
2年前
350

mysql前缀索引是什么

,1、说明,有时候需要索引很长的字符列,索引变得又大又慢,使用前缀索引,只需要索引列开始的部分字符,就能节省索引空间,提高效率。但是也会减少索引的选择。,2、语法 ,使用字段值的前10个字符建立索引...
3年前
350

mysql位类型如何理解

,说明,1、对BIT类型来说,用来存放位字段值,BIT(M)可用于存放多位二进制数,M范围为1~64,如果不写,默认为1位。,而且直接使用SELECT命令不会看到查询结果,需要使用bin()(二进制...
3年前
340

mysql视图view的特点

,视图是Mysql5.1版后推送的特性,本身是虚拟手表,其数据来源于实际存在的手表,通过执行SQL语句获得动态数据,平时使用时只需使用名称直接调用即可获得结果集。下面我们就具体的特点带来讨论。,特点...
4年前
340

mysql游标的介绍

,说明,1、游标是用来存储查询结果集的数据类型 , 在存储过程和函数中可以使用光标对结果集进行循环的处理。,2、也可以将游标称之为光标。光标的使用包括声明光标、打开光标、使用光标和关闭光标。,实例,以...
3年前
330

mysql间歇锁是什么

,说明,1、间隙锁是Innodb在提交下为了解决幻读问题时引入的锁机制。,2、对于键值在条件范围内但并不存在的记录,在相等条件下请求给一个不存在的记录也会加锁,叫做间隙锁。,实例,以上就是mysql间...
3年前
330

mysql窗口函数是什么

,说明,1、可以用来实现一些新的查询方式。,2、窗口函数像SUM()、COUNT()这样的集合函数,但不是将多行查询结果合并为一行,而是将结果返回多行。也就是说,窗口函数不需要GROUPBY。,实例...
4年前
330

mysql服务器端的组件

,1、连接管理,是MySQL数据库的客户端和服务器端建立连接的管理工具。,客户端通过IP地址、端口号、用户名、密码等信息连接MySQL数据库,然后通过数据库的连接管理工具进行连接验证,确认用户名和密码...
3年前
320

mysql如何提高索引的效率

,说明,1、建立查询频率高、数据量大的表索引。,2、对于索引字段的选择,最佳候选列应从where子句的条件中提取。,如果where子句组合较多,应选择最常用、过滤效果最好的组合。,3、使用唯一的索引...
4年前
320

mysql如何对数据库进行恢复

,1、备份文件中只包含表的备份,不包含库的语句时,导入时必须指定库名,目标库必须存在。,可以从备份文件mysql-user.sql引入test库。,2、如果备份文件包含完整的库信息,则在进行导入操作时...
3年前
310

mysql中instr()函数的使用

,说明 ,1、用于返回子串substr在字符串str中第一次出现的索引位置,没有找到子串时返回0。,2、instr()函数不区分大小写。也就是说,通过小写、大写、标题大小写等,结果总是一样的。,如果希...
4年前
310

mysql查询日志的使用

,1、查询日志记录了所有对 MySQL 数据库请求的信息,不论这些请求是否得到了正确的执行。,默认为主机名.log。,2、默认情况下不启动查询日志,必须要先开启。,以上就是mysql查询日志的使用,希...
4年前
310

mysql分区的应用场景

,说明,1、最佳场景数据的时间序列性较强,则可按时间进行分区。,2、如果数据有明显的热点,除了这部分数据,其他数据很少被访问,那么热点数据可以单独放在一个分区。,这样这个分区的数据就可以有机会缓存在内...
4年前
300

mysql触发器有什么作用

,说明,1、在写数据之前,可以强制检查或转换数据等。,2、触发器执行错误,前面成功执行的SQL将被撤销。,导致事务回滚.触发器名称在表中必须是唯一的,数据库中的各个表之间也可以相同。,在每一个时间内只...
4年前
300

mysql字段选择是什么

,说明,1、根据实际需要,明确所需字段名称,用英文逗号分隔。,2、获取所有字段,使用星号*匹配所有字段。,3、字段数据不一定来自数据源(select只要有结果),4、只要确保数据需求能够实现,字段的选...
3年前
290

mysql表分区的类型

,说明 ,1、RANGE分区将多行分配给分区。,2、LIST区域根据列值匹配离散值集中的某个值进行选择。,3、HASH分区 包括MySQL中有效、产生非负整数值的表现。,根据用户定义的表现式回归值进行...
3年前
280

mysql中concat函数的用法

,1、用于返回多个字符串连接之后的字符串。,2、如果该函数中的任何参数为NULL,返回结果为NULL。 ,3、对于字符串常量,也可直接将它们连写在一起。 ,以上就是mysql中concat函数的用法...
4年前
280

mysql有哪些分区类型

,分区说明,1、RANGE分区把多行分配给分区。,基于属于一个给定连续区间的列值。,2、LIST分区基于某列的值从属于一个值列表集中的一个值。,3、HASH分区基于用户定义的表达式的返回值来选择。,该...
4年前
280

mysql中trim函数的使用

,说明,1、用于返回删除字符串str两侧所有remstr字符串之后的子串,remstr默认为空格。,remstr为可选项,在未指定情况下,可删除空格。,2、返回字符串str,其中所有remstr前缀和...
4年前
280

mysql查询优化策略有哪些

,优化方法,1、重新定义表的关联顺序(多张表关联查询时,并不一定按照SQL中指定的顺序进行,但有一些技巧可以指定关联顺序),2、优化MIN()和MAX()函数(找某列的最小值,如果该列有索引,只需要查...
3年前
270

mysql如何启动组复制

,1、创建复制用户。,2、配置新成员和捐赠者之间异步复制的复制渠道。 ,3、需要指示服务器S1引导该组,然后启动组复制。 ,这个引导程序应该只由一个服务器完成,服务器启动组只执行一次。,4、确认组复制...
3年前
270

mysql如何查询指定字段

,说明,1、可以在SELECT语句的字段列表中指定,要查询的字段。[ ]括号代表可选的,{ }括号代表必选。,语法,2、给查询的列起别名,需要使用as关键字。 ,实例,以上就是mysql查询指定字段的...
3年前
270

mysql覆盖索引的优点探究

,优点说明,1、索引项通常比记录小,因此MySQL访问数据少。,2、 需要更少的I/O。,索引都是按值的大小顺序存储的,相对于随机访问记录。,3、绝大多数数据引擎能够更好的缓存索引。,例如MyISAM...
4年前
270

mysql中enum类型是什么

,说明,1、枚举类型,其值范围需要在创建表时通过枚举显示。,2、enum忽略了大小写。也支持通过下标(从1开始,下标越界时报错)插入数据。特殊值0表示空值。,实例,以上就是mysql中enum类型的介...
5年前
270

mysql内连接是什么

,说明,1、内部连接类似于自然连接,但内部连接不要求比较两个表的同名属性列,可以用on或using指定两个表比较的字段。,(比较的字段不要求同名)。,2、内部连接的条件可以不写,此时查询的是笛卡尔积...
3年前
260

mysql使用关联查询的注意点

,1、确保ON和USING字句中的列上有索引。,在创建索引的时候就要考虑到关联的顺序。当表A和表B用列c关联的时候,如果优化器关联的顺序是A、B,那么就不需要在A表的对应列上创建索引。没有用到的索引会...
4年前
260

mysql中set类型如何理解

,说明,1、set和enum很像,也是一个字符串对象,可以包含0~64个成员。,根据成员数量不同,存储器也不同。set类型可以一次选择多个成员。,2、可以从允许值集中选择任何元素进行组合,因此只要输入...
4年前
260

mysql水平拆分是什么

,1、说明,水平拆分是通过某种战略将数据单片存储,单片存储器内的单片存储器和单片存储器两个部分,单片数据分散到不同的MySQL单片或单片存储器,达到分布式的效果,可以支持非常大的数据量。表分区本质上也...
3年前
250

mysql触发器的缺陷分析

,说明,1、使用触发器实现的业务逻辑在出现问题时很难定位。,尤其是涉及多个触发器时,会使后期维护困难。,2、大量使用触发器容易导致代码结构混乱。,增加程序的复杂性。,3、如果需要更改的数据量大,触发器...
3年前
240

mysql主键冲突的解决方案

,说明,1、忽略冲突保留原始记录。,2、冲突更新冲突后部分字段变更。,3、冲突替换先删除原始记录,再添加新记录。,4、insert into不考虑冲突效率最高,三种解决冲突的方法都会有效率下降。,需要...
4年前
240

mysql表级锁的两种模式

,1、表共享读锁,添加共享读锁的表不会阻塞其他session的阅读请求,但会阻塞其他session的写作请求。,2、表独占写锁,独占写锁是众所周知的排他锁,会阻碍其他过程对同一表的读写操作。,只有当前...
3年前
230

mysql外连接有哪些类型

,1、左外连接将左表中要丢弃的记录保留在结果集中,右表中对应的部分用null填充。,2、右外连接,将右表中要丢弃的记录保留在结果集中,左表中对应的部分用null填充。,3、全外连接:将左表和右表中要丢...
3年前
230

mysql spring事务的特性

,说明,1、支持原数据库事务的隔离级别,加入事务传播概念。,2、为多项事务提供合并或隔离功能。,3、提供声明事务,使业务代码与事务分离,使事务更容易使用(AOP)。,实例,以上就是mysql spri...
5年前
230

mysql组复制的应用场景

,应用场景,1、数据库的灵活复制环境。分组复制可以灵活地增加和减少集群中的数据库实例。,2、数据库环境的高可用性。,在集群中大部分服务器可用时,组复制允许数据库实例宕机,那么整个数据库服务可用。,3...
3年前
220

别再说不懂索引了

大家好,我是小林。,面试中,MySQL 索引相关的问题基本都是一系列问题,都是先从索引的基本原理,再到索引的使用场景,比如:,索引底层使用了什么数据结构和算法?,今天就带大家,夯实 MySQL 索引的...
4年前
220

mysql非聚簇索引的介绍

,1、说明,非聚簇索引访问需要两次索引查找(非聚集索引中叶子节点保存的行指针指向的是行的主键值),对于innodb自适应哈希索引可以减少这样的重复工作。,2、特点,(1)叶子节点内部使用name字段排...
3年前
210

mysql垂直分割是什么

,1、概念,垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表。表的记录并不多,但是字段却很长,表占用空间很大,检索表的时候需要执行大量的IO,严重降低了性能。这时需要把大的字段拆分到另一个表...
4年前
210

mysql有哪些索引类型

,索引类型,1、主键索引字段值不能是null,也不能重复。,只能作用于一个字段(列)。,2、唯一索引字段值可以是null,但不能重复。,只能作用于一个字段。,3、普通索引可以作用于一个或多个字段,对字...
3年前
200

mysql组复制有什么特点

,1、高一致性。,基于本地复制和paxos协议的组复制技术,通过插件提供,提供一致的数据安全保证,2、高容错性。只要大部分节点不坏,就可以继续工作。,有自动检测机制。当不同节点发生资源冲突时,不会出错...
4年前
200

mysql读写分离的两种实现

,1、基于程序代码内部实现。根据select和insert对代码中的路由进行分类,这也是目前生产环境中应用最广泛的方法。,优点是性能好,因为在程序代码中实现,不需要增加额外的设备作为硬件支出;,缺点是...
4年前
200

mysql组合索引如何理解

,说明,1、不同于对某列建立索引,可以同时对多个列建立索引,也称复合索引、联合索引。,2、组合索引是在多个字段上创建一个索引,对多个值进行排序是依照定义时索引的的顺序。,实例,以上就是mysql组合索...
4年前
200

mysql蠕虫复制是什么意思

,说明,1、蠕虫复制将现有表中的复制数据直接插入另一个表(同一个表),2、蠕虫复制的目标是快速增加表中的数据,实现表中的数据复制(用于数据备份或迁移),指数级增加(多用于测试),实例,以上就是mysq...
3年前
190

mysql事务的四个特点

,特点,1、原子性,一个事务是不可再分割的整体,要么全部被执行,要么全部执行。,2、一致性,一个事务可以让数据从一种一致状态切换到另一种状态。,3、隔离性,一个事务不受其他事务的干扰,并且多个事务彼此...
3年前
190

mysql数据库范式是什么

,1、第一范式1NF:字段原子性,字段不可再分割。,关系型数据库,默认满足第一范式。,注意,在一对多的设计中使用逗号分隔多个外键,这种方法虽然存储方便,但不利于维护和索引。,2、第二范式:消除对主键的...
3年前
190

mysql逻辑备份有什么特点

,备份是通过查询MySQL服务器获取数据库结构和内容信息。,1、备份比物理方法慢,因为服务器必须访问数据库信息并将其转换为逻辑格式。如果输出写入客户端,服务器还必须将其发送到备份程序。,2、输出大于物...
4年前
190