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 [表名]                   --显示表的结构
  • 相关阅读:
    关于EventEmitter的用法
    nodejs中异常错误的处理方式
    nodejs中使用RabbitMq消息中心系统的方式
    webpack中alias别名配置
    webpack中字体配置,可以引入bootstrap
    安装node-sass提示没有vendor目录的解决办法
    Object.assign方法复制或合并对象
    ZeroClipboard跨浏览器复制粘贴
    用extract-text-webpack-plugin提取出来的css文件中背景图片url的不正确的问题
    python抽取指定url页面的title方法
  • 原文地址:https://www.cnblogs.com/luckyjcx/p/12295981.html
Copyright © 2011-2022 走看看