随笔分类 -  数据库

MySQL分区为什么采取质数101呢?
摘要:MySQL分区为什么采取质数101呢? 质数101个分区的底层原理涉及到MySQL分区的工作机制以及质数在分布均匀性方面的特性。 MySQL分区机制:MySQL支持分区表,可以将表按照一定的规则分成多个分区,每个分区可以独立地进行管理和操作。分区表可以提高查询效率、降低维护成本、提高可用性等。 质数 阅读全文

posted @ 2024-04-24 17:43 ExplorerMan 阅读(111) 评论(0) 推荐(0)

聊聊索引失效的10种场景,太坑了
摘要:执行结果:没错,这次确实走了索引,恭喜被你蒙对了,因为刚好id和height字段都建了索引。 但接下来的一个夜黑风高的晚上,需求改了:除了前面的查询条件之后,还想加一个address='成都'。 这还不简单,sql走起: explain select * from user where id=1 o 阅读全文

posted @ 2022-06-06 15:05 ExplorerMan 阅读(498) 评论(0) 推荐(0)

Navicat通过配置http通道来使Navicat远程连接到数据库
摘要:1、在主机名IP地址那里填写LocalHost。 2、在安装的Navicat文件夹下找到ntunnel_mysql.php文件,并且上传到服务器。 3、 勾选使用Http通道后,在通道地址一栏输入你的网址与后台文件地址。 例如:http://host/ntunnel_mysql.php 4、点击连接 阅读全文

posted @ 2022-05-18 16:44 ExplorerMan 阅读(892) 评论(0) 推荐(0)

Navicat通过跳板机连接mysql
摘要:如果对数据库配置了只允许特定IP才能访问的话,此时使用跳板机连接到数据库则是一个安全便捷的操作。特别是我们自己本地机器IP经常随着网络改变的情况下,通过跳板机连接数据库更是显示有必要了。 直接进入教程 1,首先确定一台IP固定不变的机器作为我们连接数据库的跳板机,如固定IP:10.19.37.240 阅读全文

posted @ 2022-05-18 16:39 ExplorerMan 阅读(1258) 评论(0) 推荐(0)

SQL 语句执行顺序
该文被密码保护。

posted @ 2022-04-25 20:15 ExplorerMan 阅读(0) 评论(0) 推荐(0)

mysql索引优化策略有哪些
摘要:一、前言 本文基于mysql8.0的innodb测试,建表在做对应的优化策略测试时记得加索引,由于文中太多查询例子不一一针对建立索引了,只挑几个建索引举例。 CREATE TABLE `user` ( `id` int(11) NOT NULL, `name` varchar(20) DEFAULT 阅读全文

posted @ 2021-02-26 16:04 ExplorerMan 阅读(285) 评论(0) 推荐(0)

Mysql什么是回表查询和覆盖索引
摘要:一、前言 本文主要解释以下几个问题: 1.什么是回表查询? 2.什么是索引覆盖? 3.如何实现索引覆盖? 4.那些场景可以利用索引覆盖优化sql? 本文实验基于8.0版本innodb 二、回表查询 1.建表 CREATE TABLE `user` ( `id` int(11) NOT NULL, ` 阅读全文

posted @ 2021-02-26 16:02 ExplorerMan 阅读(838) 评论(0) 推荐(0)

在 MongoDB 中使用覆盖索引查询
摘要:你可能听说过列索引是通过最大限度地减少查询所需的磁盘访问次数来优化查询性能的好方法。MongoDB 有一个字段索引的特定应用程序,称为覆盖索引查询(Covered Queries),其中查询的所有列都被进行索引。因为 MongoDB 不必检查除索引之外的任何文档,所以覆盖索引查询非常快。在今天的文章 阅读全文

posted @ 2021-02-26 15:58 ExplorerMan 阅读(257) 评论(0) 推荐(0)

MySQL 5.6.35 索引优化导致的死锁案例解析
摘要:一、背景 随着公司业务的发展,商品库存从商品中心独立出来成为一个独立的系统,承接主站商品库存校验、订单库存扣减、售后库存释放等业务。在上线之前我们对于核心接口进行了压测,压测过程中出现了 MySQL 5.6.35 死锁现象,通过日志发现引发死锁的只是一条简单的sql,死锁是怎么产生的?发扬技术人员刨 阅读全文

posted @ 2021-01-25 11:37 ExplorerMan 阅读(251) 评论(0) 推荐(0)

MySQL为什么要使用B+树索引
摘要:目录 MySQL的存储结构 表存储结构 B+树索引结构 B+树页节点结构 B+树的检索过程 为什么要用B+树索引 二叉树 多叉树 B树 B+树 搞懂这个问题之前,我们首先来看一下MySQL表的存储结构,再分别对比二叉树、多叉树、B树和B+树的区别就都懂了。 MySQL的存储结构 表存储结构 单位:表 阅读全文

posted @ 2021-01-19 22:41 ExplorerMan 阅读(160) 评论(0) 推荐(0)

MySql一个生产死锁案例分析
摘要:接到上级一个生产环境MySQL死锁日志信息文件,需要找出原因并解决问题。我将死锁日志部分贴出如下: 在mysql中使用命令:SHOW ENGINE INNODB STATUS;总能获取到最近一些问题信息,通过搜索deadlock 关键字即可找到死锁的相关日志信息。 2019-09-25 13:28: 阅读全文

posted @ 2020-12-31 16:40 ExplorerMan 阅读(403) 评论(0) 推荐(0)

查看MySQL锁等待的原因
摘要:--sys库的介绍 mysql 5.6也可以有sys库(基于performance_schema的视图)。sys库是一个开源项目,在githup上早就有,是一个DBA的开源工具,后来mysql感觉好,就放在了mysql5.7上。 下载地址:https://github.com/mysql/mysql 阅读全文

posted @ 2020-12-30 16:52 ExplorerMan 阅读(561) 评论(0) 推荐(0)

mysql 数据表读锁机制详解
摘要:为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制。一、概述MySQL有三种锁的级别:页级、表级、行级。MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-levellocking 阅读全文

posted @ 2020-12-30 16:49 ExplorerMan 阅读(744) 评论(0) 推荐(0)

数据库读写分离这个坑,你应该踩过吧?
摘要:Hello,大家好!我是楼下小黑哥,我又来了~ 今天分享一下刚入职公司第一次发布项目遇到的一个问题,一个数据库读写分离的坑。 前言 事情是这样的,刚入职的时候接到了这样的一个业务需求: 每个支付通道支付失败的时候都会返回特定的错误码,业务内部需要将通道特定的错误码转义成内部的错误码,这样对外就可以统 阅读全文

posted @ 2020-12-11 14:32 ExplorerMan 阅读(313) 评论(0) 推荐(0)

MySQL--全文索引作用、原理及使用注意
摘要:作用 MySQL索引可以分为:主键索引、普通索引、唯一索引、全文索引。其中,全文索引应该是是比较特殊的,它只有少数的几个存储引擎支持,且只有类型为char、vchar、text的列能建立全文索引。以前,只有MyISAM引擎支持全文索引,现在InnoDB也可以用了。 一般情况,对于模糊查询的情况最容易 阅读全文

posted @ 2020-12-09 00:01 ExplorerMan 阅读(700) 评论(0) 推荐(0)

mysql 慢查询的原因分析点滴
摘要:我们知道Mysql可以log下来运行的比较慢的sql语句。 不过,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在MySQL启动的时候加入一些参数。 如果在my.cnf里面修改,需增加如下几行:long_query_time = 1 //指执行超过多久的sql会被log下来,这里是 阅读全文

posted @ 2020-10-30 18:43 ExplorerMan 阅读(398) 评论(0) 推荐(0)

【不错】MySQL 事务隔离级别
摘要:一、事务描述 1、事务的四个特性 ACID 1. A:原子性 = 一个事务或者都成功、或者都失败; 2. C:一致性 = 在整个事务的生命周期里面,查询到的数据是一致的; MVCC多版本并发控制:利用undo保存某一时刻数据快照,通过版本号来减少锁的争用,保证各个事务互不影响。 3. I: 隔离性 阅读全文

posted @ 2019-08-18 20:43 ExplorerMan 阅读(225) 评论(0) 推荐(0)

sync_binlog innodb_flush_log_at_trx_commit 深入理解
摘要:innodb_flush_log_at_trx_commit和sync_binlog 两个参数是控制MySQL 磁盘写入策略以及数据安全性的关键参数。本文从参数含义,性能,安全角度阐述两个参数为不同的值时对db 性能,数据的影响. 1. 参数意义 1.1 innodb_flush_log_at_tr 阅读全文

posted @ 2019-07-31 11:38 ExplorerMan 阅读(270) 评论(0) 推荐(0)

你还没有真正理解的innodb_flush_log_at_trx_commit
摘要:关于innodb_flush_log_at_trx_commit的描述,看了mysql手册中的解释,感觉都不够清晰明了,下面试图以最简单直白的方式解释一下innodb_flush_log_at_trx_commit的含义。 首先需要大致了解一下mysql日志操作步骤: log_buff mysql写 阅读全文

posted @ 2019-07-31 11:37 ExplorerMan 阅读(257) 评论(0) 推荐(0)

升级到mysql5.7无法启动问题解决
摘要:漏洞扫描,老项目升级到5.7位成功,启动发现报错:unknown option log_error 线备份my.cnf配置文件, 猜测应该是写法有问题,先把log_error 改成log #log_error = /var/mysql/error.loglog = /var/mysql/error. 阅读全文

posted @ 2019-07-30 21:21 ExplorerMan 阅读(638) 评论(0) 推荐(0)

导航