对于mysql中的数据碎片,其实和我们删除数据是息息相关的,删除数据的时候必然会在数据文件中造成不连续的空白空间,对于少量的数据的删除,并不会产生多少的空白空间。如果在一段时间内的大量的删除操作,会使得这种留空的空间变得比存储列表内容所使用的空间更大。可能有人会说,我们向数据库中插入数据的时候,会不会在这些空白空间中插入数据呢?答案是会的。但是,它会造成一个后果,那就是数据的存储位置不连续,以及物理存储顺序与理论上的存储顺序不相同,这就比较麻烦了。
按照数据碎片的大小来分,可以分为单行数据碎片和多行数据碎片。其实不仅仅会产生数据碎片,如果加了索引,还会产生索引碎片,这样会造成顺序的紊乱。由于MySQL的引擎的内部实现机制不同,在数据碎片的处理上也会不同。
对于MyISAM来说,因为它的索引和数据以及表结构分为三个文件来存储,因此optimize可以整理数据文件,并且重新排序,这样因为数据碎片产生的性能问题会减少很多,直接使用【optimize table 表名】即可,但是此时也应该注意一些问题,由于该操作会锁住表,所以我们尽量定期整理一下碎片,在访问量小的时候来做这件事。我们可以查看information_schema数据库下的tables中的free_data字段即可,如果该字段不为0,则产生了数据碎片,看下面操作:
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use information_schema; Database changed mysql> select data_free from tables; +-----------+ | data_free | +-----------+ | 0 | | 0 | ...中间省略部分数据 | 0 | | 72 | | 0 | | 0 | +-----------+ 162 rows in set (0.06 sec) mysql>
这里我们是查看所有的表中的数据碎片,如果我们想单独看某一个表的数据碎片,看下面操作:
第一步,我们先建立一个库和一个表,并向其中插入四条数据:
mysql> create database xinxing; Query OK, 1 row affected (0.16 sec) mysql> use xinxing; Database changed mysql> mysql> create table xin (c char(40)) engine = myisam; Query OK, 0 rows affected (0.06 sec) mysql> mysql> insert into xin values('xiaohei'),('xiaoqian'), -> ('xiaolin'),('xiaonan'); Query OK, 4 rows affected (0.03 sec) Records: 4 Duplicates: 0 Warnings: 0
第二步,我们查看这个表的信息:
mysql> show table status from xinxing \G *************************** 1. row *************************** Name: xin Engine: MyISAM Version: 10 Row_format: Fixed Rows: 4 Avg_row_length: 121 Data_length: 484 Max_data_length: 34058472181989375 Index_length: 1024 Data_free: 0 Auto_increment: NULL Create_time: 2014-08-25 13:19:02 Update_time: 2014-08-25 13:19:35 Check_time: NULL Collation: utf8_general_ci Checksum: NULL Create_options: Comment: 1 row in set (0.00 sec)
我们发现这里面并没有数据碎片,都是非常严密的。
第三步,我们删除一条数据:
mysql> delete from xin where c = 'xiaolin'; Query OK, 1 row affected (0.00 sec)
第四步,我们再次查看,发现数据碎片产生了:
mysql> show table status from xinxing \G *************************** 1. row *************************** Name: xin Engine: MyISAM Version: 10 Row_format: Fixed Rows: 3 Avg_row_length: 121 Data_length: 484 Max_data_length: 34058472181989375 Index_length: 1024 Data_free: 121 Auto_increment: NULL Create_time: 2014-08-25 13:19:02 Update_time: 2014-08-25 13:20:15 Check_time: NULL Collation: utf8_general_ci Checksum: NULL Create_options: Comment: 1 row in set (0.00 sec)
我们发现上面的data_free字段为121,也就是产生了121字节的空白空间。
大家注意,我们这里只是删除了一条数据,如果删除n条数据,那这些碎片就很影响性能了,至于它的解决办法,我们上面也提到了,这里就不再提了。我是辛星,期待您的关注。

译者 | 布加迪审校 | 孙淑娟目前,没有用于构建和管理机器学习(ML)应用程序的标准实践。机器学习项目组织得不好,缺乏可重复性,而且从长远来看容易彻底失败。因此,我们需要一套流程来帮助自己在整个机器学习生命周期中保持质量、可持续性、稳健性和成本管理。图1. 机器学习开发生命周期流程使用质量保证方法开发机器学习应用程序的跨行业标准流程(CRISP-ML(Q))是CRISP-DM的升级版,以确保机器学习产品的质量。CRISP-ML(Q)有六个单独的阶段:1. 业务和数据理解2. 数据准备3. 模型

人工智能(AI)在流行文化和政治分析中经常以两种极端的形式出现。它要么代表着人类智慧与科技实力相结合的未来主义乌托邦的关键,要么是迈向反乌托邦式机器崛起的第一步。学者、企业家、甚至活动家在应用人工智能应对气候变化时都采用了同样的二元思维。科技行业对人工智能在创建一个新的技术乌托邦中所扮演的角色的单一关注,掩盖了人工智能可能加剧环境退化的方式,通常是直接伤害边缘人群的方式。为了在应对气候变化的过程中充分利用人工智能技术,同时承认其大量消耗能源,引领人工智能潮流的科技公司需要探索人工智能对环境影响的

Wav2vec 2.0 [1],HuBERT [2] 和 WavLM [3] 等语音预训练模型,通过在多达上万小时的无标注语音数据(如 Libri-light )上的自监督学习,显著提升了自动语音识别(Automatic Speech Recognition, ASR),语音合成(Text-to-speech, TTS)和语音转换(Voice Conversation,VC)等语音下游任务的性能。然而这些模型都没有公开的中文版本,不便于应用在中文语音研究场景。 WenetSpeech [4] 是

条形统计图用“直条”呈现数据。条形统计图是用一个单位长度表示一定的数量,根据数量的多少画成长短不同的直条,然后把这些直条按一定的顺序排列起来;从条形统计图中很容易看出各种数量的多少。条形统计图分为:单式条形统计图和复式条形统计图,前者只表示1个项目的数据,后者可以同时表示多个项目的数据。

arXiv论文“Sim-to-Real Domain Adaptation for Lane Detection and Classification in Autonomous Driving“,2022年5月,加拿大滑铁卢大学的工作。虽然自主驾驶的监督检测和分类框架需要大型标注数据集,但光照真实模拟环境生成的合成数据推动的无监督域适应(UDA,Unsupervised Domain Adaptation)方法则是低成本、耗时更少的解决方案。本文提出对抗性鉴别和生成(adversarial d

10月8日消息,美国汽车市场正在经历一场引擎盖下的变革,以前备受喜爱的六缸和八缸动力发动机正逐渐失去统治地位,而三缸发动机则崭露头角。10月8日的消息显示,美国汽车市场正在经历一场引擎盖下的变革。过去备受喜爱的六缸和八缸动力发动机正在逐渐失去统治地位,而三缸发动机则开始崭露头角在大多数人的印象中,美国人钟情于大排量车型,而"美式大V8"一直是美国车的代名词。然而,根据外媒近期公布的数据,美国汽车市场的格局正在发生巨大变化,引擎盖下的战斗正愈演愈烈。据了解,在2019年之前,美

实时全局光照(Real-time GI)一直是计算机图形学的圣杯。多年来,业界也提出多种方法来解决这个问题。常用的方法包通过利用某些假设来约束问题域,比如静态几何,粗糙的场景表示或者追踪粗糙探针,以及在两者之间插值照明。在虚幻引擎中,全局光照和反射系统Lumen这一技术便是由Krzysztof Narkowicz和Daniel Wright一起创立的。目标是构建一个与前人不同的方案,能够实现统一照明,以及类似烘烤一样的照明质量。近期,在SIGGRAPH 2022上,Krzysztof Narko

黄院士在《赛博朋克2077》里搞的智能NPC,已经飙起中文了?量子位的一手体验,亲眼见证了NPC们流利地用中英双语对话,表情动作自然,口型也能对上……如果不是眼前就有一块屏幕,真的会有种身临其境之感。今年的CES展会上,英伟达用智能引擎AvatarCloudEngine(ACE),让游戏NPC“活”了起来,引起了不小的震撼。△CES上展示的智能NPC使用ACE,游戏中的角色可以与玩家进行逼真的语音对话,同时展现出生动的表情和肢体动作,而无需提前准备剧本。亮相当时,就有育碧、腾讯、网易、米哈游等国


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Notepad++7.3.1
Easy-to-use and free code editor

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Atom editor mac version download
The most popular open source editor

SublimeText3 Linux new version
SublimeText3 Linux latest version
