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

一、MySQL存储引擎?

1.引擎定义

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

2.MySQL引擎

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

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

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

    

    

    Eigine:存储引擎的名称

    Support:是否支持该引擎

    Comment:对该引擎的评论

  (2) 查询支持的引擎

    show variables like 'have%';

    

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的缩写

    存储格式

  • 静态型:如果所有的数都是  

MySQL存储和获取数据的更多相关文章

  1. 重新学习MySQL数据库3:Mysql存储引擎与数据存储原理

    重新学习Mysql数据库3:Mysql存储引擎与数据存储原理 数据库的定义 很多开发者在最开始时其实都对数据库有一个比较模糊的认识,觉得数据库就是一堆数据的集合,但是实际却比这复杂的多,数据库领域中有 ...

  2. 在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据

    在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据.如果在创建znode时Flag设置为EPHEMERAL,那么当创建这个znode的节点和Zook ...

  3. 【MySQL】随机获取数据的方法,支持大数据量

    在mysql中带了随机取数据的函数,在mysql中我们会有rand()函数,很多朋友都会直接使用,如果几百条数据肯定没事,如果几万或百万时你会发现,直接使用是错误的.下面我来介绍随机取数据一些优化方法 ...

  4. MySQL 中随机获取数据

    由于需要大概研究了一下MYSQL的随机抽取实现方法. 目前采用的方法: SELECT * FROM tablename ORDER BY RAND() LIMIT 实现原理: 通过ORDER BY R ...

  5. 三十一.MySQL存储引擎 、 数据导入导出 管理表记录 匹配条件

    1.MySQL存储引擎的配置 查看服务支持的存储引擎 查看默认存储类型 更改表的存储引擎 设置数据库服务默认使用的存储引擎 1.1 查看存储引擎信息 mysql> SHOW ENGINES\G ...

  6. 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库

    小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...

  7. [NodeJs] 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库

    小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...

  8. 使用python读取配置文件并从mysql数据库中获取数据进行传参(基于Httprunner)

    最近在使用httprunner进行接口测试,在传参时,用到了三种方法:(1)从csv文件中获取:(2)在config中声名然后进行引用:(3)从函数中获取.在测试过程中,往往有些参数是需要从数据库中获 ...

  9. Python+Selenium+Mysql(动态获取数据,数据库交互)

    一.创建数据库连接 #!coding:utf-8 import pymysql ''' Python3之后不再支持MySQLdb的方式进行访问mysql数据库: 可以采用pymysql的方式 连接方式 ...

随机推荐

  1. vue文件在编辑器Sublime Text3中高亮

    编写代码时,代码在编辑器中显示高亮,一方面,在感官方面使人觉得很舒服:另一方面,还可以提高开发效率.下面简单介绍vue文件在Sublime Text3 中高亮的vue插件的安装方法: 第一步:安装Pa ...

  2. swift class的虚函数表

    class NSObjectBase: NSObject { func Msg_Normal(){ } func Msg_Second(){} func Msg_Third(){} @objc fun ...

  3. CSS中脱离文档流是什么意思?

    如果一个元素脱离文档流了,是不是只是显示上脱离而已?在html中是否也会脱离?我用js取这个元素的父节点的childNodes还能否取到这个元素:同时,这个元素的parentNode还是不是html中 ...

  4. 用OpenSCAD設計特製的遊戲骰子

    一開始先製作一個簡單的立方體.定義一個變量「cube_size」,然後使用下圖的立方體程式.center=true的設定可讓立方體位於起始模型的正中央. 為你在OpenSCAD創造的物體加上不同顏色是 ...

  5. PCB

    Layer Stack Manager(层堆栈管理) 用户可以通过Layer Stack Manager对话框来添加更多的层. 1.选择Design>>Layer Stack Manage ...

  6. python线程和进程编程对比

    import timefrom concurrent.futures import ThreadPoolExecutor,as_completedfrom concurrent.futures imp ...

  7. OCP 12c题库出现大量新题,062新题-第21题

    choose three Which three statements are true about Oracle checkpoint processing? A) Incremental chec ...

  8. rbac组件

    创建新项目 新建一个项目untitled,注意django 版本为1.11 修改models.py,增加2个表 from django.db import models class Classes(m ...

  9. Linux下DHCP服务安装配置

    简介 安装配置 一.简介 DHCP (Dynamic Host Configuration Protocol,动态主机管理协议)是一种基于UDP协议且仅限用于局域网的网络协议,主要用途是为局域网内部设 ...

  10. Android FragmentPagerAdapter翻译

    public abstract class FragmentPagerAdapter extends PagerAdapter java.lang.Object    ↳ android.suppor ...