zoukankan      html  css  js  c++  java
  • Mysql 存储引擎

    存储索引

    MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能

    常用引擎

    1.InnoDB

    Mysql 5.6 版本默认的存储引擎,支持事务,行级锁,聚集索引,支持外键

    2.MyISAM

    Mysql 5.5 版本默认的存储引擎,不支持事务/行级锁/外键,非聚集索引,表级锁,、其优势是访问速度快,但是表级别的锁定限制了它在读写负载方面的性能,因此它经常应用于只读或者以读为主的数据场景。

    3.Memory

    只能在内存中存储数据,速度快,但是断电消失

    4.Blackhole

    不存储任何数据,产生二进制形式的日志(binlog),只是一个表结构,用户大数据背景下做数据分流

    存储引擎相关sql语句

    查看当前的默认存储引擎:

    mysql> show variables like 'default_storage_engine';
    +------------------------+--------+
    | Variable_name          | Value  |
    +------------------------+--------+
    | default_storage_engine | InnoDB |
    +------------------------+--------+
    1 row in set (0.00 sec)

    查询当前数据库支持的存储引擎

    mysql> show engines G;
    *************************** 1. row ***************************
          Engine: FEDERATED
         Support: NO
         Comment: Federated MySQL storage engine
    Transactions: NULL
              XA: NULL
      Savepoints: NULL
    *************************** 2. row ***************************
          Engine: MRG_MYISAM
         Support: YES
         Comment: Collection of identical MyISAM tables
    Transactions: NO
              XA: NO
      Savepoints: NO
    *************************** 3. row ***************************
          Engine: MyISAM
         Support: YES
         Comment: MyISAM storage engine
    Transactions: NO
              XA: NO
      Savepoints: NO
    *************************** 4. row ***************************
          Engine: BLACKHOLE
         Support: YES
         Comment: /dev/null storage engine (anything you write to it disappears)
    Transactions: NO
              XA: NO
      Savepoints: NO
    *************************** 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
    *************************** 7. row ***************************
          Engine: ARCHIVE
         Support: YES
         Comment: Archive storage engine
    Transactions: NO
              XA: NO
      Savepoints: NO
    *************************** 8. row ***************************
          Engine: InnoDB
         Support: DEFAULT
         Comment: Supports transactions, row-level locking, and foreign keys
    Transactions: YES
              XA: YES
      Savepoints: YES
    *************************** 9. row ***************************
          Engine: PERFORMANCE_SCHEMA
         Support: YES
         Comment: Performance Schema
    Transactions: NO
              XA: NO
      Savepoints: NO
    9 rows in set (0.00 sec)
    
    ERROR: 
    No query specified
    结果

    指定存储引擎建表

    在建表时指定

    mysql> create table ai(id bigint(12),name varchar(200)) ENGINE=MyISAM; 
    
    mysql> create table country(id int(4),cname varchar(50)) ENGINE=InnoDB;
    
    也可以使用alter table语句,修改一个已经存在的表的存储引擎。
    
    mysql> alter table ai engine = innodb;

    在配置文件中指定

    #my.ini文件
    [mysqld]
    default-storage-engine=INNOD
  • 相关阅读:
    go入门4---数据
    hibernate之关联关系一对多
    hibernate的主键生成策略
    hibernate的入门
    struts--CRUD优化(图片上传)
    struts2--CRUD
    struts2--入
    Maven环境搭建
    EasyUI--增删改查
    easyui--权限管理
  • 原文地址:https://www.cnblogs.com/wanglan/p/7478412.html
Copyright © 2011-2022 走看看