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

     主要包括两大引擎  MyISAM,InnoDB

    1.MyISAM与InnoDB的区别

     

     

     

     

     

     

     

    2.常规的使用操作  

    1、MyISAM 节约空间,速度快

    2、InnoDB 安全性高,事务的处理,多表操作。InnoDB表的每行数据都保存在主索引的叶子节点上。因此所有的InnoDB表必须包含主键,如果创建表的时候,没有显示指定主键,那么InnoDB存储引擎会创建一个长度为6个字节的long类型隐藏字段作为主键。

    所有的数据库文件都存储在data目录下,一个文件夹对应一个数据库,其实本质还是文件的存储!

    3.MySQL引擎在物理文件上的区别(了解即可)

    InnoDB:在数据库表中只有一个 *.frm文件,以及上级目录的ibdata1文件
    MyISAM:对应的文件
         *.frm    —表结构的定义文件
         *.MYD    —数据文件(data)
         *.MYI   —索引文件(index)

    设置数据库表的字符集编码:

    CHARSET=utf8

    不设置的话,mysql默认的字符集编码(不支会持中文!)
    MySQL默认编码是latin1,不支持中文
    在my.ini中配置默认的编码:character-set-server=utf-8 (不建议使用,会使通用率降低)

    4.总结:

    InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。

    MyISAM:插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用。

    注意,同一个数据库也可以使用多种存储引擎的表。如果一个表要求比较高的事务处理,可以选择InnoDB。这个数据库中可以将查询要求比较高的表选择MyISAM存储。如果该数据库需要一个用于查询的临时表,可以选择MEMORY存储引擎。

    查看数据库及表结构的语句:

        show create database [数据库名]      --查看数据库的语句
        show create table [表名]          --查看创建表的语句
        desc [表名]                   --显示表的结构
  • 相关阅读:
    BZOJ 2244 [SDOI2011]拦截导弹 (三维偏序CDQ+线段树)
    BZOJ 2141 排队 (三维偏序CDQ+树状数组)
    BZOJ 3295 [CQOI2011]动态逆序对 (三维偏序CDQ+树状数组)
    BZOJ 3262 陌上花开 (三维偏序CDQ+树状数组)
    BZOJ 4012 [HNOI2015]开店 (树分治+二分)
    CF1090H Linearization
    BZOJ 4141 [Thu Summer Camp 2013]魔塔
    luogu P4654 [CEOI2017]Mousetrap
    luogu P4548 [CTSC2006]歌唱王国
    [总结] min-25筛
  • 原文地址:https://www.cnblogs.com/luckyjcx/p/12295981.html
Copyright © 2011-2022 走看看