在mysql中执行show create table <tablename>指令,可以看到一张表的建表语句,example如下:CREATE TABLE `table1` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `field1` text COLLATE utf8 ......
497
0
0
2022-09-24
背景在我们的日常开发中,我们一定会接触到的一种数据就是分层数据。哪些是分层数据呢?业务组织结构图,内容管理类别,RBAC权限管理,产品类别等等,这些都是分层数据,以下是一个电子商店的产品类别层次结构:在本文中,我们将研究在 MySQL 中处理分层数据的两种模型,从传统的邻接表模型开始。邻接表模型通常,上面显示的示例类别将存储在如下表中(我把 CREATE 和 ......
372
0
0
2022-09-05
服务器参数配置:1核2G1M系统:Ubuntu 20.04 server 64bit安装 MySQL参考:ubuntu如何安装mysql8.0.19 文章中的安装部分。依次执行以下命令:sudo apt-get install mysql-server -y sudo apt install mysql-client -y sudo apt in ......
420
0
0
2022-09-04
背景生产环境使用的宝塔面板,一般会使用自带的数据库备份功能,那个功能不能跳过一些不需要备份的表,数据量大起来之后,备份耗时增加影响业务。脚本#!/usr/bin/bash #用户名 USER=test #密码 PASSWORD='test' #数据库名 DATABASE=test #mysqldump # --ignore-table : 备 ......
587
0
0
2022-08-27
对于任何一位使用mysql的开发人员来说,稍微有点深入的应该都会接触到这两个名词。区别:1.redo log只有innodb引擎才有。2.redo log关键点是先写日志,在写磁盘,等到某个不忙的时间段再统一写入磁盘。并且有大小如果超过了就暂停写入日志并擦除一些记录,但在擦除之前会写入文件,这样即使服务器异常重启,也不会丢失提交的记录。而binlog是一种日 ......
370
0
0
2022-08-23
MySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。其中重做日志和回滚日志与事务操作息息相关,二进制日志也与事务操作有一定的关系,这三种日志, ......
425
0
0
2022-07-20
一、performance_schema的介绍performance:性能schema:图(表)示,以大纲或模型的形式表示计划或理论。MySQL的performance schema 用于监控MySQL server在一个较低级别的运行过程中的资源消耗、资源等待等情况。特点​ 1、提供了一种在数据库运行时实时检查server的内部执行情况的方法。perfor ......
443
0
0
2022-07-20
简介show processlist显示这台MySQL正在连接的用户:mysql> show processlist; +----+------+-----------+-------+---------+------+----------+------------------+ | Id | User | Host | db | ......
433
0
0
2022-07-20
一、分区表的应用场景1、为什么是用分区表?表非常大以至于无法全部都放在内存中,或者只在表的最后部分有热点数据,其他均是历史数据,分区表是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成。2、使用分区表的好处(1)数据更容易维护​ 批量删除大量数据可以使用清除整个分区的方式​ 对一个独立 ......
381
0
0
2022-07-20
用show profile查询工具指定具体的typeshow profile在mysql5.7之后过时show profile命令用于跟踪执行过的sql语句的资源消耗信息,可以帮助查看sql语句的执行情况,可以在做性能分析或者问题诊断的时候作为参考。在MySQL5.7中, show profile命令已经开始不推荐使用,MySQL使用performance_ ......
397
0
0
2022-07-20
一、索引基本知识1、索引的优点1、减少了服务器需要扫描的数据量2、帮助服务器避免排序和临时表例子:select * from emp orde by sal desc;那么执行顺序:所以有索引的话就不会创建零时表,临时表中,磁盘零时表比内存临时表更加的消耗性能。3、将随机IO变成顺序IO如何理解随机IO与顺序IO呢?如图:这是一个磁盘,B是几何扇区(仅做标记 ......
387
0
0
2022-07-20
一、查询慢的原因1、网络(1)网络丢包,重传这个比较容易理解。当SQL 从客户端发送到数据库,执行完毕,数据库将结果返回给客户端,这个将数据返回给客户端的过程本质是网络包传输。因为链路的不稳定性,如果在传输过程中发送丢包会导致数据包重传,进而增加数据传输时间。从客户端来看,就会觉得SQL 执行慢。(2)网卡满 比如大字段如果公司业务体量很大,比如平时每天30 ......
335
0
0
2022-07-20
先说一下为什么会有主库延迟这个问题。随着互联网业务数量量越来越大,伴随着我们数据库的DB能力也要随之增强。当下最贴合生产数据库模式的应该也就是主从库+读写分离+缓存中间件等一系列的解决方案。我们这里只讲一下MySQL的本身问题。 如上图所示,A是主库,B是从库。提到高可用问题,肯定不能A一直是主库,B一直是从库。所以就存在了主从切换的问题。下面介绍一下切换的 ......
447
0
0
2022-07-06
一、下载安装包:进入(Mysql的官网–>www.mysql.com/)点击”Dowload”,然后页面往下拉,点击 MySQL Community (GPL) Downloads »下一步选择 MySQL Community Server下一步选择二、mysql安装配置:打开cmd(一定以管理员身份运行),定位到自己刚下载安装包目录下bin安装mys ......
546
0
0
2022-07-05
1. MySQL 索引使用有哪些注意事项呢?可以从两个维度回答这个问题:索引哪些情况会失效,索引不适合哪些场景索引哪些情况会失效查询条件包含or,会导致索引失效。隐式类型转换,会导致索引失效,例如age字段类型是int,我们where age = “1”,这样就会触发隐式类型转换。like通配符会导致索引失效,注意:”ABC%”不会失效,会走range索引, ......
529
0
0
2022-07-04