文档详情

《MySQL数据库应用与管理项目化教程》课件_项目2-2 应用数据库存储引擎--new.pptx

发布:2025-03-02约3.13千字共17页下载文档
文本预览下载声明

项目二初步使用数据库

教学目标

能力目标

◎能按需求选择合适的存储引擎、字符集,建立和修改应用数据库;

◎熟练应用指令查看数据库和字符集信息,并借助help帮助文档解决问题。

知识目标

◎熟悉常见字符集、排序规则的应用特点和建立修改数据库语句;

◎熟悉MySQL存储引擎特点和应用场合。

学习重点

◎建立、查看和修改数据库;

◎根据应用需要设置默认的存储引擎。

学习难点

◎根据应用需要修改合适的存储引擎。

任务目标

任务1查看和管理数据库

任务2应用数据库存储引擎

任务二

应用数据库存储引擎

应用数据库存储引擎

主要内容:

查看MySQL数据库可以使用的全部存储引擎

查看当前服务器的默认存储引擎

查看当前数据库表的存储引擎

修改数据库存储引擎;

各类存储引擎的特点和应用场景

重点难点:

各类存储引擎的特点和应用场景

任务2应用数据库存储引擎

理解存储引擎

存储引擎是MySQL重要组成部分,作用是指定表的类型,规定如何存储表数据、索引、是否支持事务,以及更新、查询数据等技术的实现方法。

ORACLE、SQLServer等数据库中所有数据存储机制都是一样的,只有一种存储引擎;

MySQL数据库提供了多种存储引擎,用户可以根据业务需求为表数据选择相应合适的存储引擎。

查询MySQL支持的存储引擎

查询MySQL支持的存储引擎

语法:SHOWENGINES;

参数说明:

Eengine:表示存储引擎的名称;

Support:MySQL支持的存储引擎,YES表示支持,DEFAULT表示默认的;如:InnoDB为MySQL5.5版本及以后默认的存储引擎,之前的版本是MyISAM;

Comment:表示关于此存储引擎的评论;

Transactions:表示此存储引擎是否支持事务。

例:mysqlSHOWENGINES;

查询当前MySQL默认存储引擎

通过配置参数查看:当前服务器默认的存储引擎

语法:SHOWVARIABLESLIKEdefault_storage_engine

例:mysqlSHOWVARIABLESLIKE%storage_engine%

查看表正在使用的存储引擎

语法:SHOWTABLESTATUS[FROM库名WHEREname=表名];

例:mysqlUSEmysql;

mysqlSHOWTABLESTATUS;

mysqlSHOWTABLESTATUSFROMmysqlWHEREname=user;

修改MySQL存储引擎

修改默认的存储引擎

创建新表是如果不指定存储引擎,则系统使用默认存储引擎;

修改默认存储引擎,在my.ini配置文件中设置参数:default_storage_engine,需重新启动服务生效。

例:#设置MySQL服务器的默认存储引擎

default_storage_engine=MyISAM

通过创建表、修改表指定表的存储引擎(下一章)。

常用的存储引擎

InnoDB

甲骨文公司开发的InnoDB,遵循GNU通用公开许可(GPL)发行。

InnoDB已经被重量级因特网公司所采用,如:雅虎、Google

InnoDB具有如下优点:

支持自动增长列

支持外键(FOREIGNKEY)

适合更新密集的表,适合出来多重并发的更新请求;

唯一支持事务的标准MySQL存储引擎,支持四个事务隔离级别,这是惯例敏感数据(如金融)的必需软件

自动灾难恢复。

提供高效的ACID能力(独立性:Atomicity、一致性:Consistency、隔离性:Isolaton、持久性:Durability)

支持分区、表空间,类似Oracle数据库,表空间文件以ibd结尾;

对硬件资源要求比较高的场合。

InnoDB适应的生产场景

业务需要事务的支持;

行级锁定对高并发有很好的适应能力,但需要确保查询时用过索引来完成。

业务数据更新较为频繁的场景,如论坛、微博、电子商务、金融系统及零售等。

业务数据一致性要求较高,例如:银行业务。

硬件设备内存较大,利用InnoDB较好的缓存能力来提高内存利用率,减少IO的压力。

MyISAM存储引擎

MyISAM存储引擎

MyISAM存储引擎基于ISAM,并对其进行扩展。具有较高的插入和查询速度,但不支持事务和外键约束。

每个使用MyISAM存储引擎创建的数据表都会生成3个文件,文件名和数据表名称相同,但扩展名不同,各个文件及其作用分别如下:

frm:存储表定义文件扩展名;

.MYD:存储数据文件扩展名;

.MYI:存储索引文件扩展名。

MyISAM适应的生产场景

应用场景:

业务不需要事务的支持,因为MyISAM没有事务;

但方面读取数据比较多、或单方面写入数据比较多的业务。因为MyISAM具有读写相互阻

显示全部
相似文档