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存储引擎.pdf

  • 2017年12月02日 16:26
  • 47.78MB
  • 下载

mysql修改数据库的存储引擎(InnoDB)

查看当前的存储引擎 show engines; 基本的差别:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但...
  • liuge36
  • liuge36
  • 2017年12月08日 10:29
  • 10

mysql 存储引擎 innodb

  • 2017年11月29日 15:24
  • 103.3MB
  • 下载

mysql数据库文件和innodb存储引擎文件学习笔记

数据库文件和存储引擎文件会让我们知道数据库和存储引擎的各种内部状态和工作模式,简单看一下 mysql数据库文件 1.参数文件  mysql数据可以实例启动的时候,数据库会先去读一个配置参数文件,...

MySQL技术内幕:InnoDB存储引擎

  • 2017年08月13日 21:06
  • 47.77MB
  • 下载

MySQL数据库存储引擎详解

存储引擎是什么?   MySQL中的数据用各种不同的技术存储在文件(或者内存 )中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同...

MySQL+InnoDB存储引擎的一些参数.doc

  • 2014年01月09日 15:42
  • 210KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL存储引擎
举报原因:
原因补充:

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