目录
前言:其实吧。。我每天博客都不是很完善。。我一般都学到哪里。。记到哪里的笔记的。。。这篇博客到了表锁那里目前我就没看了。。。嗯。之后我学习了我再更新!嗷嗷嗷嗷。
存储引擎:
mysql中的数据采用不同技术存储在文件/内存中。
这些技术被称为:存储引擎(表类型)。
依据不同的存储机制、索引技巧、锁定水平、存储速度、占用存储空间 etc.进行分类。
作用:选择合适的,可提高数据库性能。
mysql存储引擎: InnoDB、MyISAM、MEMORY(HEAP)、Berkley(BDB)
查看mysql版本:SELECT VERSION();

命令查询Mysql支持的引擎:SHOW engines;

∴可知,该mysql版本对应支持的引擎如上。
| mysql引擎相关参数解释 | |
| DEFAULT | 默认 |
| Comment | 相关引擎特性 |
| Transaction | 是否支持事务 |
| XA\Savepoints | 当Transaction值Yes,这俩值才有意义,否则均NO,其与事务相关。 |
InnoDB:
1. 事务型数据库 首选。支持事务安全表(ACID),支持行锁定和外键。MySQL 5.5.5 之后,此为默认存储引擎。
advantage:
支持行级锁,行级锁比较表锁而言,粒度更细,允许并发量更大,读取操作速度快。
disadvantage:
存储空间占用较大。
不支持事务处理,不能容错,必须经常备份实时数据。(硬盘崩溃,数据文件就无法恢复)
MyISAM:
是基于 ISAM 的存储引擎,并对其进行扩展。
是在 Web、数据仓储和其他应用环境下最常使用的存储引擎之一。
MyISAM 拥有较高的插入、查询速度,不支持事务处理,适用于只读。
MEMORY:
存储引擎将表中的数据存储到内存中,为查询和引用其他数据供快速访问。
advantage:
它比InnoDB、MyISAM都快。
disadvantage:
管理数据不稳定。
若关机之前没保存,则所有数据丢失。
删除行数据时,不会浪费大量空间。
适用于用SELECT表达式选择和操控数据。
(在用完表格后,别忘记删除表格)。
CSV:
每个表会生成一个.CSV文件,将CSV类型的文件当做表进行处理。
实质:是一种常用于数据转换的普通文本文件。
该类型较少使用,并且不支持索引。
Archive:
存档文件,存储很少用到的引用文件。
适用:
只有INSERT和SELECT操作,∵其支持高并发插入操作,但本身不是事务安全的。
存储归档数据。如日志信息、历史数据etc.
不同的存储引擎适应不同的需求:

事务型数据库:
为某个程序创建的特定的数据库一般称为事务型数据库(Transaction Database)。
表锁:
分类:读锁 写锁
特点:偏向MyISAM存储引擎,开销小,加锁快,无死锁,锁定力度大,发生锁冲突的概率最高,并发度最低。
用法:修改表时,一般会加上表锁。
作用:可避免出现不同步的事情。
语句:
添加读锁:lock table 表名 read;
添加写锁:lock table 表名 write;
释放所有表的锁:unlock tables;
查看加锁的表:show open tables; in_use属性为1->加锁的表
查看加锁的相关状态:show status like 'table%';
相关解释:
Table_locks_immediate:产生表级锁定的次数,表示可以立即获取锁的查询次数,每立即获取锁值加1 。
Table_locks_waited:出现表级锁定争用而发生等待的次数(不能立即获取锁的次数,每等待一次锁值加1),此值高则说明存在着较严重的表级锁争用情况。
4455

被折叠的 条评论
为什么被折叠?



