MySQL存储和获取数据

---恢复内容开始---

一、MySQL存储引擎?

1.引擎定义

  存储引擎其实就是如何存取数据,如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系型数据苦中数据是以表格的形式,所以存储引擎也可以称为表类型。oracle和SQL server数据库中只有一种存储引擎所以数据存储和管理机制都是一样的。而MySQL提供了多种数据数存储引擎,用户可以根据不同的需求为数据表选择不同的引擎,也可以根据自己的需要编写存储引擎。

2.MySQL引擎

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

3.查询MySQL中支持的存储引擎

  (1) show engines; 结束符可以用分号也可以用 \g

    MySQL存储和获取数据

    MySQL存储和获取数据

    Eigine:存储引擎的名称

    Support:是否支持该引擎

    Comment:对该引擎的评论

  (2) 查询支持的引擎

    show variables like 'have%';

    MySQL存储和获取数据

4.MySQL的主要引擎

  (1)InnoDB存储引擎

    该引擎已经开发了10多年,已经被一些重量级的互联网公司采用,如雅虎、谷歌等。InnoDB给MySQL的表提供了事务、回滚、崩溃修复能力和多版本并发控制和事务安全

    特点和缺点如下

      该引擎支持自动增长列AUTO_INCREMENT。自动增长列的值不能为空必须唯一。MySQL中自增列必须为主键,如果自动增长的列不输入值的话,则插入的值为自动

      增长后的值;如果输入为空或者是0,则插入的也为自动增长的值。

      该引擎支持外键。外键的表为字表,外键所依赖的表为父表。父表中被字表关联的字段必须为主键。。该引擎创建的表结构存储在.firm文件中。数据和索引存储在

      innodb_data_home_dir和innodb_data_file_path表空间中。

      该表提供了良好的事务管理、崩溃修复能力和并发控制,缺点是读写效率较差,占用的数据空间较大。

    使用该引擎的理想情况

  • 更新密集的表:该引擎特别适合处理多重并发的更新请求。
  • 事务:该引擎是唯一支持事务的标准的MySQL存储引擎,者是管理敏感数据的必须软件
  • 自动灾难恢复:与其他存储引擎不同的是,该引擎能够自动从灾难中恢复。虽然MyISAM能在灾难后进行修复,但是其过程要长的多。

    提供高效的ACID原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)兼容和事务处理能力,以及独特的高性能和具有可扩展性的

    架构要素

  (2)MyISAM存储引擎

    文件类型

  • firm:存储表结构
  • myd:存储数据,是MyData的缩写
  • myI:存储索引,是MyIndex的缩写

    存储格式

  • 静态型:如果所有的数都是  
上一篇:docker for windows pull镜像文件的安装位置


下一篇:如何在Windows 10上使用VS2019 编译C