1.定义数据库和实例
    ①数据库:

    • 物理操作系统文件或其他形式文件类型的集合
    • 数据库是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合

    ②实例:

    • MySQL数据库由后台线程以及一个共享内存区组成,数据库实例才是真正用于操作数据库文件的
    • 实例是程序,是位于用户与操作系统之间的一层数据管理软件,用户对数据库数据的任何操作,包括数据库定义、数据查询、数据维护、数据库运行控制等都是在数据库实例下进行的,应用程序只有通过数据库实例才能和数据库打交道
    1. InnoDB存储引擎

    ①支持事务,其设计目标主要是面向在线事务处理OLTP应用。
    ②特点是行锁设计、支持外键,读操作不会产生锁
    ③InnoDB存储引擎采用了聚集的方式来存储数据,因此每张表的存储都是按主键的顺序进行存放。如果没有显示地在表定义的时候指定主键,InnoDB存储引擎会为每一行生成一个6字节的ROWID,并以此作为主键

    3.MyISAM
    ①不支持事务、表锁设计,支持全文索引,主要面向OLAP数据库应用
    ②MyISAM存储引擎表由MYD和MYI组成,MYD用来存储数据文件,MYI用来存储索引文件

    4.NDB存储引擎

    5.Memory存储引擎
    ①Memory存储引擎将表中的数据存放在内存中,如果数据库重启或发生崩溃,表中的数据都将消失。
    ②适合用于存储临时数据的临时表
    ③Memory存储引擎默认使用哈希索引
    ④Memory存储引擎速度非常快,但是只支持表锁,并发性能差,并且不支持TEXT和BLOB列类型字段

    6.Archive存储引擎
    ①只支持INSERT和SELECT操作
    ②使用zlib算法将数据行进行压缩后存储,压缩比一般可达1:10
    ③Archive存储引擎非常适合归档数据,如日志信息
    ④使用行锁来实现高并发的插入操作,但其本身并不是事务安全的存储引擎
    ⑤设计目标是提供高速的插入和压缩功能

    7.Federated存储引擎
    ①Federated存储引擎表并不存放数据,它指向一台远程MySQL数据库服务器上的表

    8.Maria存储引擎

    9.为什么MySQL不支持全文索引?
    ①错,MyISAM、InnoDB、等都支持全文索引

    10.MySQL速度快是因为不支持事务?
    ①错,MyISAM不支持事务,InnoDB支持事务

    11.当表数据量大于1000万时MySQL的性能会急剧下降吗?
    ①不,MySQL是数据库,不是文件,随着数据行的增加,性能当然会有所下降,但是这些下降不是线性的。如果用户选择了真确的存储引擎,以及真确的配置,再多的数据量MySQL也能承受

    12.