mysql进阶-重构表

目录

1. 原因

2. 如何重构表呢?

2.1 命令1:

2.2 命令2:

2.3 命令3:


1. 原因

正常的业务开发,为什么需要重构表呢?

原因1:某张表存在大量的新增和删除操作,导致表经历过大量的页分裂。

原因2:innodb的统计信息不准确。统计信息可以通过如下sql进行查看:

SHOW INDEX FROM <table> WHERE Key_name = '索引名称';

查询结果展示如下:

其中,红色的字段含义是基数,也就是该表中存在多少个不同的数。当表中的数据越来越大的时候,这个字段的值偏差可能会比较大,这是由innodb存储引擎的统计方法所造成。

2. 如何重构表呢?

主要涉及到如下三个命令:

2.1 命令1:alter table

alter table <表名> engine = InnoDB;

该命令会对表进行重建,重建之后,数据就会变得更紧凑,数据占用文件大小会更小。

2.2 命令2:analyze table

analyze table <表名>;

该命令只会对索引信息做统计,可以解决一些优化器选错索引的情况。

2.3 命令3:optimize table

optimize table <表名>;

该命令相当于重建表 + 重新对索引统计信息。

具体使用哪种命令可以根据具体的业务场景进行处理,本文分析至此。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/604587.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript异常处理实战

前言 之前在对公司的前端代码脚本错误进行排查&#xff0c;试图降低 JS Error 的错误量&#xff0c;结合自己之前的经验对这方面内容进行了实践并总结&#xff0c;下面就此谈谈我对前端代码异常监控的一些见解。 本文大致围绕下面几点展开讨论&#xff1a; JS 处理异常的方式…

Keil 5 ARMCC编译错误和警告解释大全(2) 序列号1000-2000

1001&#xff1a;由 using 声明指定的类成员必须在直接基类中可见 1003&#xff1a;Sun 模式与 cfront 模式不兼容 1004&#xff1a;严格模式与 Sun 模式不兼容 1005&#xff1a;只有在编译 C 时才允许使用太阳模式 1006&#xff1a; 模板模板参数不能与其模板参数之一同名…

解决 Postman 报错问题:一份综合指南

Postman 是一个流行的 API 测试工具&#xff0c;它可以帮助开发者和测试人员快速地创建和发送各种 HTTP 请求&#xff0c;并查看响应结果。但是&#xff0c;在使用 Postman 的过程中&#xff0c;有时候会遇到一些报错或异常情况&#xff0c;影响了正常的测试流程。本文将介绍一…

图像分割-Grabcut法

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 本文的C#版本请访问&#xff1a;图像分割-Grabcut法(C#)-CSDN博客 GrabCut是一种基于图像分割的技术&#xff0c;它可以用于将图像…

上海东海职业技术学院低代码实训平台建设项目竞争性磋商公告

上海东海职业技术学院低代码实训平台建设项目竞争性磋商公告 招标&#xff5c;招标公告 上海市|闵行区 项目编号&#xff1a;0773-2340GNSHFWCS2823 招标单位&#xff1a;上海东海职业技术学院 代理单位&#xff1a;中金招标有限责任公司 预算金额&#xff1a;59万元 联系方式&…

Python:sqlalchemy报错DetachedInstanceError

sqlalchemy 对象commit之后再使用就会报错 DetachedInstanceError既然这样&#xff0c;提交后还需要使用&#xff0c;就拷贝一个副本出来 一个思路是 # -*- coding: utf-8 -*- """ File : sqlalchemy_util.py Date : 2024-01-07 Author : Peng Shiyu …

循环队列的队空队满情况

有题目&#xff1a; 循环队列放在一维数组A[0....M-1]中&#xff0c;end1指向队头元素&#xff0c;end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作&#xff0c;队列中最多能容纳M-1个元素。初始时为空。下列判断队空和队满的条件中&#xff0c;正确的是 …

vim/vi 模式切换和常用快捷键

vim/vi 切换模式&#xff1a; vim/vi 常用快捷键&#xff1a; 一般模式&#xff1a; gg&#xff1a;文件开头、G&#xff1a;文件结尾 shift^ &#xff1a;光标当前行首、shift^&#xff1a;光标当前行尾 yy&#xff1a;复制、p&#xff1a;粘贴、dd&#xff1a;删除当前行、…

CRM的request管理笔记

1 request类型 request有两种&#xff0c;device request和link request。 link request link req是对link进行精确控制。 link req是对每个link的请求&#xff0c;比如某一帧是否需要bubble recovery、某一帧是否需要长曝光等feature。device request 对一个设备进行每帧控制…

JDK 11:崭新特性解析

JDK 11&#xff1a;崭新特性解析 JDK 11&#xff1a;崭新特性解析1. HTTP Client&#xff08;标准化&#xff09;示例代码 2. 局部变量类型推断的扩展示例代码 3. 新的字符串方法示例代码 4. 动态类文件常量示例代码 5. Epsilon 垃圾收集器使用方式 结语 JDK 11&#xff1a;崭新…

MySQL数据库进阶-事务

事务 事务由单独单元的一个或多个SQL语句组成&#xff0c;在这 个单元中&#xff0c;每个MySQL语句是相互依赖的。而整个单独单 元作为一个不可分割的整体&#xff0c;如果单元中某条SQL语句一 旦执行失败或产生错误&#xff0c;整个单元将会回滚。所有受到影 响的数据将返回到…

导致服务器重启的原因都有哪些,要如何处理

计算机重启主要作用是保存对系统的设置和修改以及立即启动相关服务等。重新启动的最通常的理由是因为新软件或硬件的安装需要&#xff0c;或因为应用软件因为一些理由没有回应。有时候&#xff0c;一些站长或GM在租用使用服务器过程&#xff0c;有时会遇到自动重启的情况。由于…

现有网络模型的使用及修改(VGG16为例)

VGG16 修改默认路径 import os os.environ[TORCH_HOME] rD:\Pytorch\pythonProject\vgg16 # 下载位置太大了&#xff08;140多G&#xff09;不提供直接下载 train_set torchvision.datasets.ImageNet(root./data_image_net, splittrain, downloadTrue, transformtorchvis…

数据库原理与应用期末复习试卷2

数据库原理技术与应用 一.单项选择题 设有属性A&#xff0c;B&#xff0c;C&#xff0c;D&#xff0c;以下表示中不是关系的是( C) ​ A、R(A) B、R(A, B, C, D) C、R&#xff08;AxBxCxD&#xff09; D、R(A&#xff0c;B) 在SQL语言中的视图VIEW是数据库的(A&#xff09;…

Informer:用于长序列时间序列预测的高效Transformer模型

最近在研究时间序列分析的的过程看&#xff0c;看到一篇精彩的文章&#xff0c;名为&#xff1a;《Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting》&#xff0c;特此撰写一篇博客。 文章主要研究了一种用于长序列时间序列预测的高效Trans…

继承和多态中的常见面试题(二)

1. 什么是多态&#xff1f; 多种形态&#xff0c;不同的对象来完成同一行为&#xff0c;会产生不同的行为或状态。多态的构成有两个条件&#xff1a;必须通过基类的指针或引用来调用虚函数&#xff1b;被调用的函数必须是虚函数&#xff0c;且派生类要对这个虚函数进行重写。 …

Windows:笔记本电脑设置休眠教程

前言 不知道大家在使用【Windows】笔记本有没有这个习惯&#xff0c;我会把他的电池选项的【休眠】设置进行打开。因为作为我们开发人员电脑一般是一周关一次机&#xff0c;有时候一个月关一次机。这时候【休眠】功能就给我们提供了一个好处&#xff0c;我们选择了【休眠】后电…

大数据安全速通知识点

以下是关于我对于大数据安全这门课程的的知识大概归纳&#xff0c;欢迎批评指正~ 大数据安全首先要对大数据有一定了解。 什么是大数据&#xff1f; 大数据是指在一定时间内无法用常规软件进行捕捉、管理和处理数据集合&#xff0c;需要新的处理方式才能具有更强决策力、洞察发…

PAT 乙级 1056 组合数的和

给定 N 个非 0 的个位数字&#xff0c;用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8&#xff0c;则可以组合出&#xff1a;25、28、52、58、82、85&#xff0c;它们的和为330。 输入格式&#xff1a; 输入在一行…

C语言编译器(C语言编程软件)完全攻略(第二十四部分:Turbo C 2.0使用教程(使用Turbo C 2.0编写C语言程序))

介绍常用C语言编译器的安装、配置和使用。 二十四、Turbo C 2.0使用教程&#xff08;使用Turbo C 2.0编写C语言程序&#xff09; 首先&#xff0c;我们给出一段完整的C语言代码&#xff1a; #include <stdio.h> int main() { puts("hello&#xff0c;world!"…