MySQL存储和获取数据
---恢复内容开始---
一、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存储和获取数据的更多相关文章
- 重新学习MySQL数据库3:Mysql存储引擎与数据存储原理
重新学习Mysql数据库3:Mysql存储引擎与数据存储原理 数据库的定义 很多开发者在最开始时其实都对数据库有一个比较模糊的认识,觉得数据库就是一堆数据的集合,但是实际却比这复杂的多,数据库领域中有 ...
- 在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据
在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据.如果在创建znode时Flag设置为EPHEMERAL,那么当创建这个znode的节点和Zook ...
- 【MySQL】随机获取数据的方法,支持大数据量
在mysql中带了随机取数据的函数,在mysql中我们会有rand()函数,很多朋友都会直接使用,如果几百条数据肯定没事,如果几万或百万时你会发现,直接使用是错误的.下面我来介绍随机取数据一些优化方法 ...
- MySQL 中随机获取数据
由于需要大概研究了一下MYSQL的随机抽取实现方法. 目前采用的方法: SELECT * FROM tablename ORDER BY RAND() LIMIT 实现原理: 通过ORDER BY R ...
- 三十一.MySQL存储引擎 、 数据导入导出 管理表记录 匹配条件
1.MySQL存储引擎的配置 查看服务支持的存储引擎 查看默认存储类型 更改表的存储引擎 设置数据库服务默认使用的存储引擎 1.1 查看存储引擎信息 mysql> SHOW ENGINES\G ...
- 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库
小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...
- [NodeJs] 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库
小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...
- 使用python读取配置文件并从mysql数据库中获取数据进行传参(基于Httprunner)
最近在使用httprunner进行接口测试,在传参时,用到了三种方法:(1)从csv文件中获取:(2)在config中声名然后进行引用:(3)从函数中获取.在测试过程中,往往有些参数是需要从数据库中获 ...
- Python+Selenium+Mysql(动态获取数据,数据库交互)
一.创建数据库连接 #!coding:utf-8 import pymysql ''' Python3之后不再支持MySQLdb的方式进行访问mysql数据库: 可以采用pymysql的方式 连接方式 ...
随机推荐
- vue文件在编辑器Sublime Text3中高亮
编写代码时,代码在编辑器中显示高亮,一方面,在感官方面使人觉得很舒服:另一方面,还可以提高开发效率.下面简单介绍vue文件在Sublime Text3 中高亮的vue插件的安装方法: 第一步:安装Pa ...
- swift class的虚函数表
class NSObjectBase: NSObject { func Msg_Normal(){ } func Msg_Second(){} func Msg_Third(){} @objc fun ...
- CSS中脱离文档流是什么意思?
如果一个元素脱离文档流了,是不是只是显示上脱离而已?在html中是否也会脱离?我用js取这个元素的父节点的childNodes还能否取到这个元素:同时,这个元素的parentNode还是不是html中 ...
- 用OpenSCAD設計特製的遊戲骰子
一開始先製作一個簡單的立方體.定義一個變量「cube_size」,然後使用下圖的立方體程式.center=true的設定可讓立方體位於起始模型的正中央. 為你在OpenSCAD創造的物體加上不同顏色是 ...
- PCB
Layer Stack Manager(层堆栈管理) 用户可以通过Layer Stack Manager对话框来添加更多的层. 1.选择Design>>Layer Stack Manage ...
- python线程和进程编程对比
import timefrom concurrent.futures import ThreadPoolExecutor,as_completedfrom concurrent.futures imp ...
- OCP 12c题库出现大量新题,062新题-第21题
choose three Which three statements are true about Oracle checkpoint processing? A) Incremental chec ...
- rbac组件
创建新项目 新建一个项目untitled,注意django 版本为1.11 修改models.py,增加2个表 from django.db import models class Classes(m ...
- Linux下DHCP服务安装配置
简介 安装配置 一.简介 DHCP (Dynamic Host Configuration Protocol,动态主机管理协议)是一种基于UDP协议且仅限用于局域网的网络协议,主要用途是为局域网内部设 ...
- Android FragmentPagerAdapter翻译
public abstract class FragmentPagerAdapter extends PagerAdapter java.lang.Object ↳ android.suppor ...