#读锁(共享锁)、写锁(排他锁):读锁是共享的,互不阻塞,读取同一资源互不影响;写锁排他,一个写锁会阻塞其他的读写操作。
#锁定对象的粒度:表锁和行锁。
表锁:整个表加锁,当写操作时,加写锁,资源访问排他。当没有写时,加读锁,读锁互不冲突。写锁比读锁有高优先级。开销较小。
行级锁:对一行加锁,开销大,支持最大并发处理。
#事务:ACID
A原子性:一个事务是一个原子不可分的工作单元,内部的工作不会被部分执行,要么全部执行,要么根本不执行
C一致性:数据库从一种一致状态转到另一种一致状态,事务执行过程中的数据改变不会影响数据库数据。
I 隔离性:某个事务的结果只有在事务完成后才对其他事务可见。
D持久性:一个事务提交后的结果改变将是持久的,不会马上消失。
#MVCC:多版本并发控制
#几个存储引擎:
MyISAM:加表锁,在select查询时可以在同一张表完成插入(并发插入),可以基于BLOB和TEXT的前500字符进行相关索引。
InnoDB:事务引擎,适合处理大量短期事务,基于聚簇索引,不压缩索引
Memory:基于堆的,内存存储,支持哈希索引
Archive:只支持insert和select,不支持索引,缓冲了数据写操作,插入时使用zlib算法压缩,比MyISAM磁盘IO消耗少,所有 的select查询执行全表扫描,适合logging,支持行级锁。
存储引擎 |
MySqL版本 |
事务 |
锁粒度 |
主要应用 |
忌用 |
MyISAM |
全部 |
不支持 |
支持并发插入的表锁 |
select,insert,高负载 |
读写并重的场合 |
MyISAM Merge |
全部 |
不支持 |
支持并发插入的表锁 |
分段归档,数据仓库 |
许多全局查找 |
Memory(Heap) |
全部 |
不支持 |
表锁 |
中间计算,静态数据查找 |
大型数据集,持久性存储 |
InnoDB |
全部 |
支持 |
支持MVCC的行级锁 |
事务处理 |
无 |
Falcon |
6.0 |
支持 |
支持MVCC的行级锁 |
事务处理 |
无 |
Archive |
4.1 |
支持 |
支持MVCC的行级锁 |
日志记录,聚合分析 |
需要随机读取、更新、删除 |
CSV |
4.1 |
不支持 |
表锁 |
日志记录,大规模加载外部数据 |
需要随机读取、索引 |
Blackhole |
4.1 |
支持 |
支持MVCC的行级锁 |
日志记录或同步归档 |
除非有特别目的,否则不适合任何场合 |
Federated |
5.0 |
N/A |
N/A |
分布式数据源 |
除非有特别目的,否则不适合任何场合 |
NDB Cluster |
5.0 |
支持 |
行级锁 |
高可靠性 |
大部分典型应用 |
PBXT |
5.0 |
支持 |
支持MVCC的行级锁 |
事务处理,日志记录 |
需要聚集索引 |
SolidDB |
5.0 |
支持 |
支持MVCC的行级锁 |
事务处理 |
无 |
Maria |
6.x |
支持 |
支持MVCC的行级锁 |
替代MyISAM |
无 |
分享到:
相关推荐
MySQL性能优化金字塔法则 MySQL性能优化是指通过调整MySQL数据库的配置、优化数据库结构和查询语句等方式,提高MySQL数据库的性能和响应速度,以满足应用程序的需求。MySQL作为最流行的开源数据库之一,被广泛应用...
MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计
"MySQL性能调优与架构设计.pdf" 本资源摘要信息是关于 MySQL 数据库软件的性能调优和架构设计的知识点。MySQL 是一个流行的开源数据库管理系统,具有简单高效可靠的特点,广泛应用于各个行业。以下是从给定的文件中...
总的来说,MYSQL全面高级性能优化资料涵盖了MYSQL性能优化的多个重要方面,包括MYSQL的全文搜索功能,性能基准测试,MYSQL在不同平台上的性能表现,MYSQL 5.0与4.1版本性能对比,以及MYSQL性能优化的未来趋势等。...
"MySQL性能优化和高可用架构实践" 本书《MySQL性能优化和高可用架构实践》是一本详细介绍MySQL性能优化和高可用架构实践的书籍,旨在帮助读者提升MySQL数据库的性能和可靠性。本书的内容涵盖了查询优化的基本原则和...
MySQL性能提升是一个关键议题,它涉及到多个方面,包括对性能的认识、问题的定位、性能改进、并发控制机制以及性能测试等。在这些方面,楼方鑫等专家分享了许多经验和见解。 首先,讨论了性能提升的必要性和复杂性...
MySQL性能调优与架构设计 PDF图书MySQL性能调优与架构设计 PDF图书
自己整理的mysql性能测试脚本,需要的同学,可以下载使用
《高性能MySQL》是一本深入探讨MySQL数据库系统优化与管理的经典著作。这本书涵盖了MySQL的架构、历史、性能调优以及基准测试等多个重要主题,对于数据库管理员、开发人员以及对数据库性能有高要求的技术人员来说,...
除了上述优化策略外,掌握一些MySQL的使用技巧也是提升性能的重要手段: 1. **批处理**:对于大量数据的插入或更新操作,使用批处理可以减少对数据库的请求次数,提高效率。 2. **使用存储过程**:存储过程可以...
MySQL性能优化是数据库管理员和开发人员的关键技能,它涉及到如何有效地使用SQL语句、存储过程和函数,以提高数据查询速度和系统整体效率。本手册将深入探讨这些关键领域,帮助你理解并实施最佳实践。 在SQL语句...
本书以 MySQL 数据库的基础及维护为切入点,重点介绍了 MySQL 数据库应用系统的性能调优,以及高可用可扩展的架构设计。 全书共分3篇,基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份...
【标题】:“百度mysql性能优化ppt”所涉及的知识点涵盖了MySQL数据库在性能调优方面的多个重要环节。在MySQL性能优化中,我们关注的核心是提升数据处理速度,减少资源消耗,从而提高系统的整体效率。 【描述】:...
本文将总结 MySQL 性能调优参数,涵盖 Innodb 相关参数、连接参数、缓存参数、日志参数等多方面,帮助读者快速了解和掌握 MySQL 性能调优的方法。 Innodb 相关参数 1. Innodb_open_files:这个参数限制 Innodb 能...
MySQL性能调优与架构设计是数据库管理领域的重要课题,尤其在处理大数据量时,优化技巧和架构设计显得尤为关键。本资源"mysql性能调优与架构设计--全册 .rar"包含了对MySQL数据库进行性能提升和架构改进的全面指南。...
5. **性能监控与调优工具**:介绍了一些用于监控MySQL性能的工具,如MySQL Enterprise Monitor、Percona Monitoring Plugins,以及如何利用这些工具进行性能分析和调优。 6. **内存管理与缓存**:探讨了MySQL如何...
由于无法直接访问该链接,以下将基于通用的MySQL性能监控实践,来讲解相关知识点: 1. **关键性能指标**: - **QPS(Queries Per Second)**: 查询每秒,衡量数据库处理请求的速度。 - **TPS(Transactions Per ...
MySQL性能优化诊断脚本是一种非常实用的工具,用于检测和分析MySQL数据库的性能问题。`tuning-primer.sh`就是这样一个脚本,它通过运行一系列的查询和检查,为数据库管理员提供有关系统性能的深入见解,并提出可能的...
MySQL性能优化是数据库管理中的关键环节,特别是在高并发场景下,优化MySQL的性能对于提升系统整体效率至关重要。本教程将深入探讨MySQL性能优化的各个方面,帮助你理解并实践有效的优化策略。 首先,我们来了解**...