如何选择数据库存储引擎

常见的数据库存储引擎有:ISAM、MYISAMInnoDB

根据每个不同的存储引擎提供的不同的核心功能、以及不同的应用场景等;一般把核心功能分为4类:支持的字段和数据类型、锁定类型、索引、以及事务处理;

1:支持的字段和数据类型:

虽然所有的引擎都支持通用的数据类型(如:整型、字符串等)、但是、并不是所有的引擎都支持其它的字段类型(如:二进制、TEXT文本类型);

2:锁定类型:

锁定机制主要是为了防止多个处理同时更新同一个数据。不同的存储引擎支持不同级别的锁:表锁定、页锁、行锁等;

3:表锁:

开销小、加锁快、不会出现死锁。锁定力度大、发生锁冲突的概率比较高、并发度最低。支持最多的就是表锁定,MYISAM 和 MEMORY 支持表锁。MySQL的表锁有两种模式、表共享读锁和表共享写锁。对于 MYISAM 表的读操作、不会阻塞其它用户对同一表读的请求、但是会阻塞对同一表的写请求;对 MyISAM 表的写操作、则会阻塞其它用户对同一表的读和写操作;

4:行锁:

开销大、加锁慢、会出现死锁;锁力度最小、发生锁冲突的概率最低、并发也是最高的。InnoDB 表进是行锁定;

5:索引:

建立索引在搜索和恢复数据库中的数据的时候、能够显著提高性能;不同的存储引擎提供不同的制作索引对技术、有的搜索引擎不支持索引;

6:事务处理:

事务处理有助于提高向表中更新数据和插入数据期间的可靠性;

ISAM:

ISAM 是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数 据库被查询的次数要远大于更新的次数。因此,ISAM 执行读取操作的速度很快,而且不占 用大量的内存和存储资源。ISAM 的两个主要不足之处在于,它不支持事务处理,也不能够 容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。

MyISAM:

MyISAM 管理非事务表、是ISAM 的扩展格式。除了提供ISAM里所没有的索引的字段管理等的大量功能、MyISAM 还使用一种表格锁定的机制、来优化多个并发的读写操作。MyISAM 提供高速存储和检索、以及全文搜索能力;在MYSQL5.5.5版本及以下的所有MYSQL配置里被支持。也是默认的存储引擎。

InnoDB:

InnoDB 引擎是MySQL数据库的另一个重要的存储引擎、被包含在所有的二进制安装包里面、和其它的存储引擎相比、InnoDB引擎的优点是支持兼容ACID的事物、以及参数完整性(有外键)等。MySQL5.5.5以后默认的存储引擎都是InnoDB引擎;

原文地址:https://www.cnblogs.com/laowenBlog/p/8405602.html

时间: 2024-08-23 22:04:19

如何选择数据库存储引擎的相关文章

MySQL数据库存储引擎

MySQL数据库存储引擎 MySQL数据库是一种关系型数据库,数据时存放在数据库中的一张一张的表中的,各个表之间或有关联,表中的每行相关,每列是不相关.这是关系型数据库的基本存储方式. MySQL存储引擎是为了在各种不同的条件下对数据存放的可靠性.关联性.读写等方面做出的一个可供选择的存储模式. 当前使用较多的MySQL存储引擎主要有以下几个,MyISAM,InnoDB,BdB,Memory等,这些存储引擎主要在以下几个方面有所区分,锁定水平.处理方式.存储方式和索引技巧方面有所不同. mysq

Atitit.数据库存储引擎的原理与attilax 总结

Atitit.数据库存储引擎的原理与attilax 总结 1. 存储引擎是什么1 2. 其它数据库系统(包括大多数商业选择)仅支持一种类型的数据存储2 3. 表的存储有三个文件:结构+数据+索引2 4. 页和字段2 5. 数据存取的选择:行存储还是列存储?3 6. 常见的存储引擎3 6.1. 简单类型MyISAM.3 6.2. 复杂类型,支持事务与外键 MySQL存储引擎[InnoDB.3 6.3. InnoDB数据存储结构3 6.4. Memory](Heap) 存储引擎5 6.5. NDBC

MYSQL,数据库存储引擎!

本人安装mysql版本为:mysql  Ver 14.14 Distrib 5.7.18, for Win64 (x86_64),查看mysql的版本号方式:cmd-->mysql --version  将会显示出mysql的版本 1.什么是数据库存储引擎? 存储引擎是mysql数据库管理系统的一个重要特征,在具体开发时,为了提高mysql的数据库管理系统的使用效率和灵活性,可以根据具体的实际需要来选择不同的数据库引擎,因为存储引擎指定了表的类型,即如何存储和索引数据,是否支持事务等,同时存储引

Mysql数据库存储引擎--转

原文地址:http://pangge.blog.51cto.com/6013757/1303893 简单介绍 存储引擎就是指表的类型.数据库的存储引擎决定了表在计算机中的存储方式.存储引擎的概念是MySQl的特点,而且是一个插入式的存储引擎概念.这就决定了MySQl数据库中的表可以使用不同的存储方式存储.用户可以根据自己的不同要求,选择不同的存储方式.是否进行事务处理等. 查询方式及内容解析 使用SHOW ENGINES语句可以查看MySQL数据库支持的存储引擎类型.查询方法如下: 1 SHOW

Linux环境下修改MySQL数据库存储引擎

今天在执行Oracle数据库迁移至MySQL数据库时报出了一个错误信息: Specified key was too long; max key length is 1000 bytes 百度发现,原来需要更改MySQL数据库的存储引擎为InnoDB,查询目前现有的存储引擎信息: [[email protected]121 ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ;

Mysql之数据库存储引擎

一.数据库存储引擎介绍 数据库存储引擎是数据库底层软件组件,数据库管理系统(DBMS)使用数据库存储引擎进行创建.查询.更新和删除数据操作.不同的存储引擎提供不同 的存储机制.索引技巧.锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能. 二.Mysql数据库存储引擎介绍 Mysql提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎.在Mysql中,不需要在整个服务器中使用一种存储引擎,针对 具体的业务和场景,可以对每一个表使用不同的存储引擎.在Mysql5.7中支

如何改变数据库存储引擎

更改数据库存储引擎 1:查看系统支持的存储引擎 > show engines; 2:查看表使用的存储引擎: > show table status from `databases_name` where name = 'table_name'; > show create table `table_name`; 3:修改表引擎 > alter table `table_name` engine = 'InnoDB'; > show create table `table_na

Mysql运维管理-MySQL数据库存储引擎知识19

1.MySQL 引擎概述 1.1 什么是存储引擎 我们在录制一个视频文件的时候,可以转换成不同的格式如mp4,avi,wmv等,而且在电脑的磁盘上也会存在于不同类型的文件系统windows里常见的ntfs,fat32,存在于linux操作系统里常见的ext3,ext4,xfs.但是跟我们呈现的内容都是一样的,直观的区别是占用系统空间的大小与清晰程度不一样.那么数据库存储引擎也有很多种存储方式.无论用什么存储引擎来存储,用户看到的数据都是一样的.不同的引擎存储,引擎功能,占用的空间的大小,读取性能

如何选择mysql存储引擎

一.MySQL的存储引擎 完整的引擎说明还是看官方文档:http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html 这里介绍一些主要的引擎 1.InnoDB存储引擎 InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务.除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎. 建议使用MySQL5.5及以后的版本,因为这个版本及以后的版本的InnoDB引擎性能更好. M