简介
MySQL中的数据用各种不同的技术存储在文件(或者内存)中;
每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的功能和能力;
这些不同的实现数据存储的技术在MySQL的整体架构中逻辑化为“存储引擎层”;
存储引擎,通常又被称作“表类型”(即可以在创建表时指定存储引擎,但无法对某一数据库指定存储引擎)
查看
show engines; # 显示可支持的存储引擎show table status [{from|in} Db_Name] [like ‘pattern’|where expr]; # 可显示指定数据库中指定表的状态信息# 法一:show table status like ‘classes’;# 法二:show table status where Name=’classes’/G
可通过查看表的状态信息获得表所使用的存储引擎类别:
修改默认存储引擎:
# 在配置文件/etc/my.cnf中设置如下:default_storage_engine = InnoDB
各存储引擎及其特性
InnoDB
支持事务:事务日志;日志文件大小一致:如ib_logfile0和ib_logfile1支持外键支持MVCC支持聚簇索引支持行级锁:即间隙锁支持辅助索引支持自适应hash索引支持热备份不支持全文索引
MyISAM
支持全文索引支持压缩:用于实现数据仓库,能节约存储空间并提升性能支持空间索引支持表级锁:若读写操作比例为9:1或8:2,则使用MyISAM可以提高性能延迟更新索引:减少IO压力不支持事务,外键,MVCC,行级锁等崩溃后无法安全恢复数据适用场景:多读少写的数据,较小的表,能够容忍崩溃后的修改操作和数据丢失;如自带的mysql数据库中的表都是使用MyISAM存储引擎的# 建议:使用InnoDB存储引擎,并使用read commited的隔离级别,性能并不比MyISAM性能差,故推荐使用InnoDB存储引擎
ARCHIVE
仅支持insert和select支持很好的压缩功能不支持事务,不能很好的支持索引适用于:存储日志信息,或其它按时间序列实现的数据采集类的应用,如监控日志
CSV
12 |
将数据存储为csv格式,不支持索引 仅适用于数据交换场景
|
BLACKHOLE
12 |
没有存储机制,任何发往此引擎的数据都会丢弃 由于其会记录二进制日志,故常用于多级复制架构中作中转服务器
|
MEMORY
1234 |
数据保存在内存中,即是一个内存表
不支持blob和text数据类型 常用于保存中间数据,如周期性的聚合数据等;也用于实现临时表
|
MRG_MYISAM
12 |
是MyISAM的一个变种,能够将多个MyISAM表合并为一个虚表 属于传统的存储引擎,一般不常用
|
NDB
1 | 是MySQL Cluster中专用的存储引擎,不常用 |
第三方的存储引擎
XtraDB
增强的InnoDB,由Percona提供;用法:编译安装MySQL时,下载XtraDB的源码替换MySQL存储引擎中的InnoDB源码,并重新编译安装MySQL
PBXT
MariaDB自带此存储引擎支持引擎级别的复制,外键约束支持事务,MVCC对SSD磁盘提供适当支持
TokuDB
使用Fractal Trees索引,性能很强适用于存储大数据,拥有很好的压缩比已被引入新版本的MariaDB
列式存储引擎:
Infobright
前身为Maria,是增强版的MyISAM支持崩溃后安全恢复支持数据缓存
其它列式存储引擎
如 InfiniDB,MonetDB,LucidDB等
开源社区存储引擎:
Aria
前身为Maria,是增强版的MyISAM支持崩溃后安全恢复支持数据缓存
Groona
全文索引引擎;Mroonga是基于Groona的二次开发版
OQGraph
由Open Query研发,支持图结构的存储引擎
SphinxSE
为Sphinx全文搜索服务器提供了SQL接口
Spider
能将数据切分成不同的分片,比较高效透明的实现了分片(shard);支持在分片上支持并行查询
选择存储引擎可参考要素
是否需要事务
备份的类型的支持(热备或冷备)
崩溃后的恢复
特有的特性(如对SSD的支持等)

Python 中有许多方法可以帮助我们理解代码的内部工作原理,良好的编程习惯,可以使我们的工作事半功倍!例如,我们最终可能会得到看起来很像下图中的代码。虽然不是最糟糕的,但是,我们需要扩展一些事情,例如:load_las_file 函数中的 f 和 d 代表什么?为什么我们要在 clay 函数中检查结果?这些函数需要什么类型?Floats? DataFrames?在本文中,我们将着重讨论如何通过文档、提示输入和正确的变量名称来提高应用程序/脚本的可读性的五个基本技巧。1. Comments我们可

随着直播业务的火爆,越来越多的网站和应用开始加入直播这项功能。PHP作为一种流行的服务器端语言,也可以用来开发高效的直播功能。当然,要实现一个稳定、高效的直播功能需要考虑很多问题。下面列出了使用PHP开发直播功能的十个技巧,帮助你更好地实现直播。选择合适的流媒体服务器PHP开发直播功能,首先需要考虑的就是流媒体服务器的选择。有很多流媒体服务器可以选择,比如常

PHP中的多表关联查询技巧关联查询是数据库查询的重要部分,特别是当你需要展示多个相关数据库表内的数据时。在PHP应用程序中,在使用MySQL等数据库时,多表关联查询经常会用到。多表关联的含义是,将一个表中的数据与另一个或多个表中的数据进行比较,在结果中将那些满足要求的行连接起来。在进行多表关联查询时,需要考虑表之间的关系,并使用合适的关联方法。下面介绍几种多

译者 | 赵青窕审校 | 孙淑娟你是否经常回头看看6个月前写的代码,想知道这段代码底是怎么回事?或者从别人手上接手项目,并且不知道从哪里开始?这样的情况对开发者来说是比较常见的。Python中有许多方法可以帮助我们理解代码的内部工作方式,因此当您从头来看代码或者写代码时,应该会更容易地从停止的地方继续下去。在此我给大家举个例子,我们可能会得到如下图所示的代码。这还不是最糟糕的,但有一些事情需要我们去确认,例如:在load_las_file函数中f和d代表什么?为什么我们要在clay函数中检查结果

1.简介我们在日常使用Python进行各种数据计算处理任务时,若想要获得明显的计算加速效果,最简单明了的方式就是想办法将默认运行在单个进程上的任务,扩展到使用多进程或多线程的方式执行。而对于我们这些从事数据分析工作的人员而言,以最简单的方式实现等价的加速运算的效果尤为重要,从而避免将时间过多花费在编写程序上。而今天的文章费老师我就来带大家学习如何利用joblib这个非常简单易用的库中的相关功能,来快速实现并行计算加速效果。2.使用joblib进行并行计算作为一个被广泛使用的第三方Python库(

对于数据科学,Python通常被广泛地用于进行数据的处理和转换,它提供了强大的数据结构处理的函数,使数据处理更加灵活,这里说的“灵活性”是什么意思?这意味着在Python中总是有多种方法来实现相同的结果,我们总是有不同的方法并且需要从中选择易于使用、省时并能更好控制的方法。要掌握所有的这些方法是不可能的。所以这里列出了在处理任何类型的数据时应该知道的4个Python技巧。列表推导式ListComprehension是创建列表的一种优雅且最符合python语言的方法。与for循环和if语句相比,列

整理字符串输入整理用户输入的问题在编程过程中极为常见。通常情况下,将字符转换为小写或大写就够了,有时你可以使用正则表达式模块「Regex」完成这项工作。但是如果问题很复杂,可能有更好的方法来解决:user_input="Thisnstringhastsomewhitespaces...rn"character_map={ord('n'):'',ord('t'):'',ord('r'):None}user_input.translate(charact

近年来,随着网络信息的急剧增长,网络爬虫技术在互联网行业中扮演着越来越重要的角色。其中,Go语言的出现为网络爬虫的开发带来了诸多优势,如高速度、高并发、低内存占用等。本文将介绍一些Go语言中的网络爬虫开发技巧,帮助开发者更快更好地进行网络爬虫项目开发。一、如何选择合适的HTTP客户端在Go语言中,有多种HTTP请求库可供选择,如net/http、GoRequ


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

记事本++7.3.1
好用且免费的代码编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中