Mysql系列之Mysql体系结构和存储引擎介绍

Mysql 被设计为一个可移植的数据库,几乎所有的操作系统上都可以运行。

数据库和实例

  • 数据库:物理操作系统文件或其他形式文件类型的集合

  • 实例:MySQL数据库由后台线程以及一个共享内存区组成。

存储引擎

Mysql数据库区别其他的数据库的最重要的特点是其插件式的表存储。存储引擎是基于表的,而不是数据库

mysql> show ENGINES\G
*************************** 1. row ***************************
      Engine: MyISAM
     Support: YES
     Comment: MyISAM storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 2. row ***************************
      Engine: PERFORMANCE_SCHEMA
     Support: YES
     Comment: Performance Schema
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 3. row ***************************
      Engine: MRG_MYISAM
     Support: YES
     Comment: Collection of identical MyISAM tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 4. row ***************************
      Engine: InnoDB
     Support: DEFAULT
     Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
          XA: YES
  Savepoints: YES
*************************** 5. row ***************************
      Engine: CSV
     Support: YES
     Comment: CSV storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 6. row ***************************
      Engine: MEMORY
     Support: YES
     Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
          XA: NO
  Savepoints: NO
6 rows in set (0.00 sec)

存储引擎介绍

  • InnoDB
    InnoDB支持事务,其目标是面向在线事务处理的应用。其特点就是行锁、支持事务、支持事务,并类似于Oracle的非锁定读,及默认读取操作不会产生锁。

  • MyISAM
    MyISAM不支持事务,表锁,支持全文索引,主要面向一些OLAP数据库应用。M有ISAM比较特殊的地方是它的缓冲池只缓存索引文件,而不缓存数据文件。MyISAM由MYD和MYI组成,MYD用来存放数据文件,MYI用来存放索引文件。

  • NDB
    优点:NDB的特点是将数据存放在内存中,因此速度极快。
    缺点:sql解析是通过Mysql底层实现的,因此解析join会有极大的网络开销,查询数据非常慢

  • Memory
    优点:查询速度极快(将数据存放在内存中)
    缺点:数据库重启,数据丢失

  • Archive
    只支持INSERT和SELECT操作,数据压缩比例可以达到1:10,非常时候做日志数据库的存储引擎

  • Federated
    并不是用于存储数据的而是用于指向远程数据库的表

mysql> use mysql;select host,user,password from user\G
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
*************************** 1. row ***************************
    host: localhost
    user: root
password: *45E020EC6D94D9EC584FE3E2BA2DF0EFB65080A1
*************************** 2. row ***************************
    host: xxx
    user: root
password: 
*************************** 3. row ***************************
    host: 127.0.0.1
    user: root
password: 
*************************** 4. row ***************************
    host: ::1
    user: root
password: 
*************************** 5. row ***************************
    host: localhost
    user: 
password: 
*************************** 6. row ***************************
    host: %
    user: chenyang
password: *45E020EC6D94D9EC584FE3E2BA2DF0EFB65080A1
7 rows in set (0.00 sec)

猜你喜欢

转载自blog.csdn.net/qq_33261700/article/details/80737181