介绍Mysql中存储引擎和体系结构教程
技术百科
零下一度
发布时间:2017-05-12
浏览: 次 Mysql的体系结构和存储引擎
1.1定义数据库和实例
数据库:frm,MYD,MYI,ibd,结尾的文件,当使用NDB引擎的时候,数据库文件放在内存中
实例:后台线程
和共享内存组成。共享内存可以运行的后台现成共享,数据库实例才是真正操作数据库的
实例和数据库的关系是一一对应的。
MySql是单进程多线程架构的数据库,实例在系统中的表现就是一个 进程。
与Oracle的参数文件spfile相似,不同Oracle如果没有参数文件,在启动实例的时候,数据库失败。
1.2Mysql的组成:
连接池组件
管理服务和工具组件
sql接口组件
查询分析器组件
优化组件
缓冲Cache组件
插件式存储引擎
物理文件
存储引擎是基于表结构的,而不是数据库
1.3Mysql存储引擎
Mysql预定义的存储引擎接口编写自己的存储引擎
InnoDB存储引擎
支持事物,设计目标主要是面向在线事物处理的应用,特点是行锁设计,支持外键,支持类似Oracle的非锁定读,默认读写操作不会产生锁
放在了一个逻辑表空间中,存储引擎的表单独放到一个独立的ibd文件之中
对于表中的存储,采取了聚集的方式
MyISAM存储引擎
不支持事物,表所设计,支持全文索引。面向一些OLAP数据库应用
缓冲池只是缓存一些索引文件,不缓冲数据文件
引擎表是由MYD和MYI组成,MYD是用来存放数据文件,MYI用来存放索引文件,可以使用myismpack工具来进一步压缩文件
NDB引擎
是一个集群存储引擎,其结构是share noting的集群结构,数据全部放在内存中,主键查找的速度极快
并且通过添加NDB数据存储节点,线性提高数据库性能,高可用,高性能的集群系统。
Memory引擎
表中的数据存放到内存之中,如果数据库重启或者崩溃,表中的数据全部消失。适用于存储临时表
默认使用哈希索引,不是B+树索引。
只支持表锁,并发性能比较差
Archeive存储引擎
采用zlib算法进行压缩后存储。非常适合存储过当数据,如日志信息
使用行锁来实现高并发的插入操作
主要提供高速的插入和压缩功能。
Federate存储引擎
引擎表并不存放数据,只是指向一台mysql数据库的服务器上,不支持异构数据库的表
Maria存储引擎
取代原有的MyiSAM存储引擎,从而成为Mysql的默认引擎
支持缓存数据和索引文件,应用了行锁设计,提供了MVCC功能,支持事物和非事物安全的选项
通过show engines 查询mysql数据库所支持的存储引擎
1.4连接Mysq
是一个连接进程和Mysql数据库实例进行通信
常用的通信方式:有管道,命名管道,命名字,TCP/IP套接字,UNIX域套接字
TCPIP:
mysql -h192.168.0.0.1 -u david -p
Mysql会检查一张权限视图,用来判断请求的ip是否允许连接到Mysql实例,表为user
命名管道和共享内存
在mysql配置文件中启动--enable>name-pipe
提供共享内存,在配置文件中,添加--shard-Memory实现
UNIX套接字
mysql -udavid -S /tmp/mysql.sock
【相关推荐】
1. 免费mysql*教程
2. MySQL最新手册教程
3. 数据库设计那些事
# 放在
# 自己的
# 是一个
# 用了
# 适用于
# 一台
# 是由
# 如果没有
# 不支持
# 配置文件
# mysql
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- c++中如何求一个数的平方根_c++ sqrt函数
- Win11怎么设置ipv4地址_Windows 1
- Win11怎么恢复出厂设置_Win11重置此电脑保
- php打包exe后无法读取环境变量_变量配置方法【
- c++中如何使用std::variant_c++1
- php485在php5.6下能用吗_php485旧
- 如何使用Golang开发简单的聊天室消息存储_Go
- Python生成器表达式内存优化_惰性计算说明【指
- C++中的Pimpl idiom是什么,有什么好处
- php命令行怎么运行_通过CLI模式执行PHP脚本
- 如何在 Go 中正确初始化结构体中的 map 字段
- Win11怎么设置虚拟桌面 Win11新建多桌面切
- 如何使用Golang实现跨域请求支持_Golang
- Win11怎么关闭键盘按键音_Win11禁用打字声
- c++中如何对数组进行排序_c++数组排序算法汇总
- Win11怎样安装企业微信_Win11安装企业微信
- 如何高效获取循环末次生成的 NumPy 数组最后一
- LINUX下如何配置VLAN虚拟局域网_在LINU
- Python爬虫项目实战教程_Scrapy抓取与存
- Windows10系统怎么查看CPU温度_Win1
- VSC怎么在PHP中调试MySQL_数据库交互排查
- Win11怎么关闭系统透明度_Windows11个
- 如何在Golang中实现邮件发送功能_Golang
- 如何使用Golang管理模块版本_Golanggo
- php485在macos下怎么配置_php485
- Win11如何更新显卡驱动 Win11检查和安装设
- Win11搜索栏无法输入_解决Win11开始菜单搜
- php后缀怎么变mp4能播放_让php伪装mp4正
- Python音视频处理高级项目教程_FFmpegP
- C++如何将C风格字符串(char*)转换为std
- php本地部署支持nodejs吗_php与node
- Win11怎么设置任务栏透明_Windows11使
- Go 中实现 Python urllib.quot
- php能控制zigbee模块吗_php通过串口与c
- 如何在Golang中使用container/hea
- 网站内页做seo排名怎么做?
- Golang如何遍历目录文件_Golang fil
- Windows如何拦截腾讯视频广告_Windows
- Win10电脑C盘红了怎么清理_Windows10
- 如何使用Golang搭建本地API测试环境_快速验
- php485支持哪些操作系统_php485跨系统支
- Win11怎么开启HDR模式_Windows 11
- 如何使用Golang实现函数指针_函数变量与回调示
- Python模块的__name__属性如何由导入方
- Windows10如何更改任务栏高度_Win10解
- 如何使用 Python 合并文件夹内多个 Exce
- Mac如何彻底清理浏览器缓存?(Safari与Ch
- Win10怎么创建桌面快捷方式 Win10为应用创
- Python 中将 ISO 8601 时间戳转换为
- Win11怎么设置ip地址_Windows 11手

QQ客服