• 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 [表名]                   --显示表的结构
  • 相关阅读:
    python 发送邮件
    java 获取两个时间之前所有的日期
    java 子线程定时去更改主线程的变量
    post 两种方式 application/x-www-form-urlencoded和multipart/form-data
    aws 社交媒体技术大会 部分总结
    java操作Mongodb数据库
    实体类注解 @entity
    spring security 部分注解讲解
    @Column
    阿里云搭建服务器
  • 原文地址:https://www.cnblogs.com/luckyjcx/p/12295981.html
Copyright © 2020-2023  润新知