mysql那些事(5)建表存储引擎的选择

在mysql见表的时候,会遇到选择存储引擎:MyISAM和InnoDB。究竟用哪种存储引擎好呢?

1、MyISAM:表锁;支持全文索引;读并发性能较好。

2、InnoDB:行锁;支持事务,支持外键;写并发性能较好。

实际上,现在大多数的公司里,mysql的规定都是使用InnoDB作为默认存储引擎,除了支持事务和行锁是比较重要的两个原因外,其实MyISAM在实际应用场景中意义也不大,并且一个重要原因是,官方支持力度大。oracle很早就收购了InnoDB,后面又收购了mysql,现在重点发展InnoDB引擎。

另外,MyISAM表锁在并发写操作多时会严重影响读操作。

那InnoDB的在又是怎么弥补读并发和索引的问题呢?

索引现在不应该用mysql本身来解决,应该使用第三方的软件,比如:ES,Sphinx;

至于读表的性能,从架构和缓存等方面完全可以解决,并且技术解决方案非常成熟。

so,创建mysql数据表请毫不犹豫选择:InnoDB。

原文地址:https://www.cnblogs.com/phpfensi/p/8143324.html

时间: 2025-01-15 02:05:47

mysql那些事(5)建表存储引擎的选择的相关文章

查看和改动MySQL数据库表存储引擎

要做一名合格的程序猿,除了把代码写的美丽外,熟知数据库方面的知识也是不可或缺的.以下总结一下怎样查看和改动MySQL数据库表存储引擎:        1.查看数据库所能支持的存储引擎:show engines;        2.查看某个数据库中某个表所使用的存储引擎:show table status from db_name where name='table_name';(注:将where条件去掉后能够查看某个数据库中全部表的存储引擎情况)        3.改动表引擎方法:alter t

查看和修改MySQL数据库表存储引擎

要做一名合格的程序员,除了把代码写的漂亮外,熟知数据库方面的知识也是不可或缺的,下面总结一下如何查看和修改MySQL数据库表存储引擎:        1.查看数据库所能支持的存储引擎:show engines;        2.查看某个数据库中某个表所使用的存储引擎:show table status from db_name where name='table_name';        3.修改表引擎方法:alter table table_name engine=innodb;     

MySQL中merge表存储引擎用法

在Mysql数据库中,Merge表有点类似于视图.mysql的merge引擎类型允许你把许多结构相同的表合并为一个表.之后,你可以执行查询,从多个表返回的结果就像从一个表返回的结果一样.每一个合并的表必须有完全相同表的定义和结构. Mysql Merge表的优点:A. 分离静态的和动态的数据B. 利用结构接近的的数据来优化查询C. 查询时可以访问更少的数据D. 更容易维护大数据集E. 可以通过修改.mrg文件来修改Merge表,当然也可以用alter进行修改,修改后要通过FLUSH TABLES

MySQL 转换/修改表存储引擎 详细介绍

MySQL表转换(转换/修改表存储引擎): 有几种方法可以吧表从一种引擎转移到另外一种引擎上,都有自己的优缺点.下面介绍3种常用的方法. 一:ALTER TABLE 把表从一种引擎转移到另外一种引擎最简单快捷的方法用ALTER TABLE语句: mysql>ALTER TABLE mytablename ENGINE = 引擎类型 详细介绍该用法:这种语法适合所有的存储引擎,不过这里有一个"陷阱":这种转换过程会消耗大量时间.MySQL为此要执行一个旧表到新表的逐行复制(Row-

INNODB与MyISAM两种表存储引擎区别

mysql数据库分类为INNODB为MyISAM两种表存储引擎了,两种各有优化在不同类型网站可能选择不同,下面小编为各位介绍mysql更改表引擎INNODB为MyISAM技巧. 常见的mysql表引擎有INNODB和MyISAM,主要的区别是INNODB适合频繁写数据库操作,MyISAM适合读取数据库的情况多一点,如何把表引擎INNODB更改为MyISAM呢? 使用以下mysql sql语句,可以给表设定数据库引擎: ALTER TABLE `wp_posts` ENGINE = MyISAM;

MySQL性能优化(一)-- 存储引擎和三范式

一.MySQL存储引擎 二.存储引擎如何选择 是否支持事务 检索和添加速度 锁机制 缓存 是否支持全文索引 是否支持外键 三.MyISAM和InnoDB对比 四.什么时候使用MyISAM和InnoDB MyISAM:读事务要求不高,以查询和插入为主,例如各种统计表. InnoDB:对事务要求高,保存的是重要的数据,例如交易数据,支付数据等,对用户重要的数据,建议使用InnoDB. 五.配置和数据文件 1.配置文件默认位置 Linux: /etc/my.cnf Windows: my.ini 2.

Mysql存储引擎及选择方法

0x00 Mysql数据库常用存储引擎 Mysql数据库是一款开源的数据库,支持多种存储引擎的选择,比如目前最常用的存储引擎有:MyISAM,InnoDB,Memory等. MyISAM存储引擎 MyISAM是Mysql的默认存储引擎,它支持B-tree/FullText/R-tree索引类型,并且MyISAM的锁级别是表锁,表锁的开销小,加锁快:锁粒度大,发生锁冲突的概率较高,并发度低:表锁适合查询.MyISAM引擎不支持事务性,也不支持外键. InnoDB存储引擎 InnoDB存储引擎最大的

【超简单】MySQL存储引擎的选择与配置

[超简单]MySQL存储引擎的选择与配置 存储引擎简介 MySQL中的数据用各种不同的技术存储在文件(或内存)中.每一种技术都使用不同的存储机构,索引技巧,锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,能够获得额外的速度或者功能,从而改善应用的整体功能.这些不同的技术以及配套的相关功能在MySQL中被称为存储引擎. 下面就为大家介绍两种MySQL中比较常见的两种存储引擎:MyISAM和InnoDB MyISAM存储引擎 MyISAM存储引擎是MySQL关系数据库系统5.5版本之

mysql 存储引擎的选择你会吗?

mysql 存储引擎的选择你会吗?,布布扣,bubuko.com