MySQL入门很简单-MySQL存储引擎

来源:互联网 发布:淘宝怎么找优惠券 编辑:程序博客网 时间:2024/05/22 05:08
create database 数据库名;
show databases;
drop database 数据库名;//删除数据库要慎重,会删除数据库中所有表和表的数据,删除数据库之前需要先备份数据库。
mysql数据库中存储引擎就是指表的类型。
show engines;//用于查看mysql支持的存储引擎类型,可以用; \g \G结束,\G显示的结果更美观。
show variables like 'have%'; //查询支持的存储引擎
show variables like 'storage_engine';

Engine指存储引擎的名称,Support说明Mysql是否支持该类型引擎,Comment指对该引擎的评论,Transactions表示是否支持事务处理,XA表示是否分布式交易处理的XA规范,Savepoints参数表示是否支持保存点,以便事务回滚到保存点。
支持:Falcon, BLACKHOLE, MRG_MYISAM, MARIA, CSV, FEDERATED,ARCHIVE, InnoDB, MyISAM, MEMORY.安装时默认的存储引擎是InnoDB。
默认安装的存储引擎是InnoDB,如果图形界面安装选择的是Non-Transactional Database Only则存储引擎是MyISAM,免安装的引擎是MyISAM。
如果需要更改默认的存储引擎,修改my.ini文件的"default-storage-engine=INNODB",改为MyISAM,重启服务器生效

1、InnoDB存储引擎
     提供事务处理、回滚、崩溃修复能力和多版本并发控制的事务安全。是MySQL上第一个提供外键约束的表引擎。支持自动增长列AUTO_INCREMENT,值不为空且唯一,规定自增列必须为主键。支持外键FOREIGN KEY,外键所在的表为子表,外键依赖的表为父表,父表中被子表关联的字段必须为主键。InnoDB存储引擎中,创建的表的结构存储在.frm文件中,数据和索引存储在innodb_data_home_dir和innodb_data_file_path定义的表空间。优势在于提供了良好的事务处理、崩溃修复能力和并发控制,缺点是读写效率较差,占用的数据空间相对较大。
     对事务的完整性要求较高,且要求实现并发控制,选择InnoDB有很大优势如果需要频繁进行更新、删除操作,也可以选择InnoDB存储引擎,该类引擎可以实现事务的提交和回滚。

2、MyISAM存储引擎
     基于ISAM发展的,MyISAM存储引擎的表存储为3个文件,文件的名字与表名相同,扩展名包括frm、MYD和MYI,frm扩展名的文件存储表结构,MYD扩展名文件存储数据MYData,MYI扩展名的文件存储索引。
     MyISAM存储引擎的表支持3种不同的存储格式,包括静态型、动态型和压缩型。默认存储为静态型,字段固定长度;动态型包括变长字段,记录的长度不固定;压缩型需要使用myisampack工具创建,占用磁盘空间小。优势在于占用空间小,处理速度快。缺点是不支持事务的完整性和并发性。
     该引擎插入数据快,空间和内存使用比较低。如果表主要用于插入新记录和读出记录,或者对应用的完整性、并发性要求很低,则可以选择MyISAM存储引擎

3、MEMORY存储引擎
     使用其存储在内存中的内容创建表,数据也存放在内存中。每个基于MEMORY存储引擎的表实际对应一个磁盘文件,文件的文件名与表名相同,类型为frm类型。该文件中只存储表结构,数据存储在内存中。服务器需要有足够多的内存维持MEMORY存储引擎的表的使用。该存储引擎默认使用哈希索引,速度比B型树索引快。基于MEMORY存储引擎的表的生命周期很短,一般是一次性的。表的大小受限制,大小主要取决于max_rows和max_heap_table_size参数,max_rows在创建表时指定,max_heap_table_size默认大小为16MB,可以按需扩大。处理速度快,但数据易丢失,生命周期短。
     如果需要很快的读写速度,对数据安全性要求较低可以选择MEMORY存储引擎。对表的大小有要求。


登录:mysql -h localhost -u root -p
原创粉丝点击