MySQL存储引擎

原创 2015年11月18日 15:34:41

MySQL事物自动提交

mysql> show variables like '%auto%' ;
+-----------------------------+-------+
| Variable_name               | Value |
+-----------------------------+-------+
| auto_increment_increment    | 1     |
| auto_increment_offset       | 1     |
| autocommit                  | ON    |
| automatic_sp_privileges     | ON    |
| innodb_autoextend_increment | 8     |
| innodb_autoinc_lock_mode    | 1     |
| sql_auto_is_null            | OFF   |
+-----------------------------+-------+
7 rows in set (0.00 sec)

mysql> set autocommit=1;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%auto%';
+-----------------------------+-------+
| Variable_name               | Value |
+-----------------------------+-------+
| auto_increment_increment    | 1     |
| auto_increment_offset       | 1     |
| autocommit                  | ON    |
| automatic_sp_privileges     | ON    |
| innodb_autoextend_increment | 8     |
| innodb_autoinc_lock_mode    | 1     |
| sql_auto_is_null            | OFF   |
+-----------------------------+-------+
7 rows in set (0.00 sec)

mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%auto%';
+-----------------------------+-------+
| Variable_name               | Value |
+-----------------------------+-------+
| auto_increment_increment    | 1     |
| auto_increment_offset       | 1     |
| autocommit                  | OFF   |
| automatic_sp_privileges     | ON    |
| innodb_autoextend_increment | 8     |
| innodb_autoinc_lock_mode    | 1     |
| sql_auto_is_null            | OFF   |
+-----------------------------+-------+

rollback; 回滚事物
commit;   提交事物

MySQL常用存储引擎:MyISAM 和 InnoDB(特性ACID)

mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| FEDERATED          | YES     | Federated MySQL storage engine                                 | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)

MyISAM引擎调优

1、设置合适的索引。
2、调整读写优先级,根据实际需求确保重要操作优先执行。
3、启用延迟插入改善大批量写入性能。
4、尽量顺序操作让insert数据都能写入尾部,减少阻塞。
5、分解大的时间长的操作,降低单个操作的阻塞时间。
6、降低并发数。
7、对于更改不频繁的数据,利用Query Cache缓存服务缓存数据。

InnoDB引擎调优

1、主键尽可能小。
2、避免全表扫描。
3、尽可能缓存索引和数据,减小IO。
4、尽可能自己控制事物而不使用自动提交。
5、合理设置 innodb_flush_log_at_trx_commit 参数。0:性能最好 | 1:安全最高 | 2:类似Oracle
6、避免主键更新,因为这样会带来大量数据移动。

--分表,一个表一个数据文件。
mysql> show variables like '%innodb_file_per_table%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+
1 row in set (0.00 sec)

批量修改MySQL引擎

1、ALTER TABLE t1 ENGINE = InnoDB
   ALTER TABLE t1 ENGINE = MyISAM

2、nohup sed -e 's/MyISAM/InnoDB/g' backup.sql > backup_new.sql &

3、/application/mysql/bin/mysql_convert_table_format

MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)

MySQL中的存储引擎: 1、存储引擎的概念 2、查看MySQL所支持的存储引擎 3、MySQL中几种常用存储引擎的特点 4、存储引擎之间的相互转化...
  • QH_JAVA
  • QH_JAVA
  • 2013年11月05日 21:40
  • 22420

四种mysql存储引擎

前言 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 ...
  • zhangyuan19880606
  • zhangyuan19880606
  • 2016年04月22日 10:33
  • 11323

Mysql两种存储引擎的区别

InnoDB: (1)具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACI...
  • qq_35181209
  • qq_35181209
  • 2017年09月19日 14:59
  • 364

MySql BlackHole存储引擎

【MySql】 BlackHole :黑洞引擎
  • wangshuxuncom
  • wangshuxuncom
  • 2016年03月18日 14:46
  • 1744

mysql 的存储引擎种类 以及分类 区别

这里主要介绍几种常用的存储引擎种类  MyISAM  InnoDB  MEMORY  MERGE  TokuDB 1. MyISAM  : 是旧版本mysql的默认引擎,现在默认引擎是Inn...
  • CaiCai_1908
  • CaiCai_1908
  • 2016年11月20日 19:16
  • 1204

MySQL两种存储引擎

Mysql有两种存储引擎:InnoDB与Myisam   二者之间有六大区别:     MyISAM InnoDB 构成上的区...
  • zhang2531
  • zhang2531
  • 2016年08月26日 20:39
  • 470

MySQL中四种常用存储引擎的介绍

MySQL常用的四种引擎的介绍(1):MyISAM存储引擎:不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表支持...
  • qq_27028821
  • qq_27028821
  • 2016年08月21日 16:34
  • 6917

Mysql技术内幕InnoDB存储引擎——InnoDB存储引擎

特此申明: 前段时间找工作所以看了《Mysql技术内幕InnoDB存储引擎》,整理的时候除了参考网上已有的笔记贴,加上自己整合的,可能和别人有雷同之处。不过无所谓啦,写出来自己看看,需要的朋友参...
  • yingminxing
  • yingminxing
  • 2012年12月07日 10:43
  • 5448

MySql存储引擎详细介绍

1、Mysql存储引擎概述 插件式存储引擎是MySql数据库最重要的特性之一,用户可以根据应用的需要选择如何存储和索引数据、是否使用事务等。 MySql5.0支持的存储引擎包括MyISAM、InnoD...
  • RoadOfTechnology
  • RoadOfTechnology
  • 2016年11月12日 13:02
  • 749

mysql 创建自定义存储引擎

写出一个能够正常运行的存储引擎不难,难的是写出一个稳定高效的存储引擎。同时如果还能方便运维的话,那就能得到更广泛的使用。一个经常出问题的引擎首先会受到DBA自身的排斥。     写内核写了这么久,...
  • easonulove
  • easonulove
  • 2014年12月09日 16:30
  • 762
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL存储引擎
举报原因:
原因补充:

(最多只允许输入30个字)