搜索
首页数据库mysql教程MySQL数据库优化(一)—MySQL引擎

一、MySQL引擎种类
(一)、InnoDB
1、InnoDB简介
     InnoDB是my默认引擎,支持事务,in的数据存储在表空间(tablespace)中,通过间隙锁(next-key locking)防止幻读。
2、InnoDB特点
   (1)In内部做了很多优化,in基于聚簇索引建立表,对主键查询有很高的性能。
   (2)读取数据时,能够在内存中创建hash索引加速插入缓冲区,读取数据时采取可预读。
   (3)支持热备份,my其他引擎不支持这一功能。
(二)、MyISAM
1、MyISAM简介
     MyISAM是my5.1之前版本的默认引擎,支持全文索引、压缩、空间函数,但不支持事务及行级锁,适用于只读数据、表小可忍受修复操作的应用场景。
2、MyISAM特点
  (1)MyISAM存储把表存放到两个文件中:数据文件和索引文件。
  (2)MyISAM支持对整张表进行加锁,但不支持行加锁。
  (3)MyISAM压缩表,针对某些不再修改的表数据,使用MyISAM将表进行压缩,以减少磁盘I/O操作,提高查询效率。
(三)、CSV
     CSV引擎可以将普通的CSV文件作为Mysql表处理,在数据库运行时拷入拷出文件,另外也可将excel等形式文件转储成CSV,再通过Mysql的CSV引擎处理成mysql表类型。作为一种数据交换机制,非常实用。
(四)、Memory
     Memory引擎是将所有的数据保存到内存中,不需要进行磁盘I/O,它所存储的数据主要是保存和查找数据处理时的中间数据,重启数据就清空。如果Mysql执行过程中,需要临时表来保存中间结果,内部使用的临时表便是Memory表。
(五)、NDB Cluster 
     NDB集群索引是mysql公司在收购了NDB数据库后开发的,支持分布式、容灾、高可用的数据库索引。
二、引擎相关操作
1、查看mysql当前版本引擎
使用命令show enginses;查看mysql引擎
5.1版本中的mysql 引擎:

5.7版本中的mysql 引擎(可通过mysql客户端执行命令查看):

2、指定mysql引擎
方法一:修改my.cnf配置文件

      (1)如果不太清楚mysql的my.cnf配置文件存放位置,可通过 sudo find /-name my.cnf查找该文件路径。

      (2)修改如下:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

default-storage-engine=MyISAM

      (3)使用service mysqld start 命令,重启mysql服务;查看engine类型

2、在创建库/表时指定引擎
     CREATE TABLE mytable (id int, title char(20)) ENGINE = INNODB
     ALTER TABLE mytable ENGINE = MyISAM
 

 以上就是MySQL数据库优化(一)—MySQL引擎 的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
与其他RDBM相比,MySQL如何处理并发?与其他RDBM相比,MySQL如何处理并发?Apr 29, 2025 am 12:44 AM

MySQLhandlesconcurrencyusingamixofrow-levelandtable-levellocking,primarilythroughInnoDB'srow-levellocking.ComparedtootherRDBMS,MySQL'sapproachisefficientformanyusecasesbutmayfacechallengeswithdeadlocksandlacksadvancedfeatureslikePostgreSQL'sSerializa

MySQL与其他关系数据库相比如何处理交易?MySQL与其他关系数据库相比如何处理交易?Apr 29, 2025 am 12:37 AM

mysqlHandLestActionSefectefectionalytheinnodbengine,supportingAcidPropertiessimilartopostgresqlesqlandoracle.1)mySqluessRepeTableReadAbleDasthEdefaultIsolationLelealevel,该canbeadjustEdToreDtoreDtoreadCommententCommententCommententCommententCommittedForHigh-TrafficsCenarios.2)

MySQL中有哪些数据类型?MySQL中有哪些数据类型?Apr 29, 2025 am 12:28 AM

MySQL的数据类型分为数值、日期和时间、字符串、二进制和空间类型。选择正确的类型可以优化数据库性能和数据存储。

在MySQL中编写有效的SQL查询的最佳实践是什么?在MySQL中编写有效的SQL查询的最佳实践是什么?Apr 29, 2025 am 12:24 AM

最佳实践包括:1)理解数据结构和MySQL处理方式,2)适当索引,3)避免SELECT*,4)使用合适的JOIN类型,5)谨慎使用子查询,6)使用EXPLAIN分析查询,7)考虑查询对服务器资源的影响,8)定期维护数据库。这些做法能使MySQL查询不仅快速,还具备可维护性、可扩展性和资源效率。

MySQL与PostgreSQL有何不同?MySQL与PostgreSQL有何不同?Apr 29, 2025 am 12:23 AM

MySQLisbetterforspeedandsimplicity,suitableforwebapplications;PostgreSQLexcelsincomplexdatascenarioswithrobustfeatures.MySQLisidealforquickprojectsandread-heavytasks,whilePostgreSQLispreferredforapplicationsrequiringstrictdataintegrityandadvancedSQLf

MySQL如何处理数据复制?MySQL如何处理数据复制?Apr 28, 2025 am 12:25 AM

MySQL通过异步、半同步和组复制三种模式处理数据复制。1)异步复制性能高但可能丢失数据。2)半同步复制提高数据安全性但增加延迟。3)组复制支持多主复制和故障转移,适用于高可用性需求。

您如何使用解释性语句分析查询性能?您如何使用解释性语句分析查询性能?Apr 28, 2025 am 12:24 AM

EXPLAIN语句可用于分析和提升SQL查询性能。1.执行EXPLAIN语句查看查询计划。2.分析输出结果,关注访问类型、索引使用情况和JOIN顺序。3.根据分析结果,创建或调整索引,优化JOIN操作,避免全表扫描,以提升查询效率。

您如何备份并还原MySQL数据库?您如何备份并还原MySQL数据库?Apr 28, 2025 am 12:23 AM

使用mysqldump进行逻辑备份和MySQLEnterpriseBackup进行热备份是备份MySQL数据库的有效方法。1.使用mysqldump备份数据库:mysqldump-uroot-pmydatabase>mydatabase_backup.sql。2.使用MySQLEnterpriseBackup进行热备份:mysqlbackup--user=root--password=password--backup-dir=/path/to/backupbackup。恢复时,使用相应的命

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器