数据库是一个庞大的工程,本来想读读mysql的开源代码,可看到代码行数

数据库是一个庞大的工程,本来想读读mysql的开源代码,可看到代码行数就心寒了,只能一步一步渐进学习了。预计分三步走:1.基本应用,主要以mysql mannul为帮助,基本完成。2.性能调优的学习,参考资料:High.Performance.MySQL,学习mysql中内部机制,包括索引的应用,sql解析过程,另外需要做一些实验,深入了解。(刚刚开始)3.mysql深入学习,参考资料.Understanding.MySQL.Internals,对mysql源码进行一些简单的分析学习。?? 下面就是我在学些mysql性能调优的一些笔记:??? 第一章 Mysql架构??? 1. Optimization and Execution: 优化器和引擎的关系,The optimizer does not really care what storage engine a particular table uses, but the storage engine does affect how the server optimizes query.??? 2. Concurrency Control 解决方式:Read/Write Locks。??? 3. Lock粒度:Table(常用) ,Row(InnoDB and Falcon)。??? 4. Transactions(ACID): Atomicity,Consistency,Isolation,Durability。??? 5. Isolation Levels:READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ(Mysql Defautl),SERIALIZABLE,其差异在于page 9;??? 6. Multiversion Concurrency Control(MVCC):You can think of MVCC as a twist on row-level locking; it avoids the need for locking at all in many cases and can have much lower overhead.It also means different transactions can see different data in the same tables at the same time!(数据会有镜像,在一个操作未完成的时候,查询结果不一致)?? ???? InnoDB implements MVCC by storing with each row two additional, hidden values that record when the row was created and when it was expired (or deleted).??? 7. Mysql存储引擎:各种引擎分析和优缺点介绍,不罗列。??? 8. 选择引擎需要考虑的问题:Transactions,Concurrency(Table or Row?),Backups(第十一章),Crash recovery(MyISam容易坏,并且恢复慢),Special features(比如全文检索)。???? 第二章 Finding Bottlenecks: Benchmarking and Profiling??? 1. Benchmarking Strategies:full-stack(整体测试,比如web server) and single-component benchmarking,都需要,在不同的情况下使用不同的测试方式。??? 2. What to Measure:Transactions per time unit,Response time or latency,Scalability(测量在各种情况下的性能),Concurrency(并发性?)。??? 3. Benchmarking Tools??????? Full-Stack Tools:ab,http_load,JMeter,?? ???? Single-Component Tools:mysqlslap,sysbench,Database Test Suite,MySQL Benchmark Suite (sql-bench),Super Smack.??? 第三章 Schema Optimization and Indexing 表定义优化和索引优化(重点章节)??? 1. Choosing Optimal Data Types: ?? ??? ??? ?Sm

mysql源代码多少行_数据库是一个庞大的工程,本来想读读mysql的开源代码,可看到代码行数.doc...相关推荐

  1. mysql按位存储_数据库中用一个值来保存多种情况:二进制和按位异或

    例如,某个房间可从[灯,床,桌,椅,杯子,饮水机--]这些器具中挑选,从而组成这个房间的装潢.我们可能会设计一个房间表,再设计一个器具表,再设计一个关系表,通过这个关系表来保存它们之间的对应关系.但是 ...

  2. dbeaver连接mysql 驱动jar_用Intellij Idea创建一个普通的Java工程并用JDBC连接数据库...

    演示:如何创建一个普通的Java工程,并导入MySql数据库的驱动包,用JDBC方式来连接数据库. Intellj Idea 先创建工程 1.打开Intellij Idea,创建Project,Fil ...

  3. 【MySQL 第10章_数据库的设计规范】

    第10章_数据库的设计规范 1. 为什么需要数据库设计 2.范式 2.1范式简介 2.2范式都包括哪些 2.3 键和相关属性的概念 2.4第一范式(1st NF) 2.5 第二范式(2nd NF) 2 ...

  4. mysql text 查询速度_数据库学习之让索引加快查询速度(四)

    数据库学习之让索引加快查询速度 目录 索引简介 mysql的索引分类 创建索引 添加与删除索引 索引简介 索引在MySQL中也叫做"键",是存储引擎用于快速找到记录的一种数据结构. ...

  5. mysql打错了怎么办_数据库出错了怎么办?

    下面是网上收集的多种方法,大家可以测试下. (一) 昨晚浏览自己的Blog的时候,突然发现所有页面都无法显示,到后台查看的时候,发现一个"Table 'xxx' is marked as c ...

  6. MySQL删除空值语句_数据库语句sql 删除空记录

    最简单删除SQL Server中所有数据的方法 原文:最简单删除SQL Server中所有数据的方法 最简单删除SQL Server中所有数据的方法   编写人:CC阿爸   2014-3-14 其实 ...

  7. mysql数据库容量估算_数据库性能与容量评估

    一.数据库设计 1.表结构设计 -表中的自增列(auto_increment属性)推荐使用bigint类型 -首选使用非空的唯一键, 其次选择自增列或发号器 不使用更新频繁的列,尽量不选择字符串列,不 ...

  8. 在哪看mysql的端口号_数据库端口号在哪看

    如何查看mysql的端口号 -- 输入以下命令:SHOW VARIABLES WHERE VARIABLE_NAME='port'就可以查看当前连接的端口号,-- 例如:mysql> SHOW ...

  9. 中间件 mysql 异地多活_数据库的异地多活分析和方案

    前言 前文提到异地多活的几种型态和基于OceanBase实现方案.这里再总结一下基于其他分布式数据库(MySQL)实现异地多活时要考虑的点.本文不讨论为什么做异地多活,可以参考末尾的文章. 异地多活的 ...

  10. mysql select符合查询_数据库select group by 和having语句 多表连接查询 复合查询

    1.SELECT --group by 子句 group by子句按照指定的列column_name对表数据进行分组 group by 后面跟的列也叫分组特性列 使用group by后,能选择的列   ...

最新文章

  1. C++格式化输入输出
  2. ssm 使用中的一些问题
  3. html5三国策略布阵,丰神三国怎样布阵 布阵方法推荐
  4. Python操作Excel表格
  5. latex中report目录_LaTeX目录格式控制
  6. hive插件 ranger_Apache Ranger及Hive权限控制
  7. leetcode 462. Minimum Moves to Equal Array Elements II
  8. Codeforces ----- Kefa and Dishes [状压dp]
  9. MCU破解技术分析(一)
  10. 基于张正友标定法的工业机器人视觉标定
  11. 员工满意度调查问卷的设计注意事项
  12. CSS样式div和img居中
  13. 计算机显示文档在哪打开,我的文档在哪?小编教你找到电脑Windows系统我的文档在哪...
  14. redis持久化底层原理-RDB与AOF
  15. 圣诞表白html,圣诞节表白语 圣诞节表白情话
  16. android 禁止跟随系统字体,Android 应用全局字体调节或禁止随系统字体大小更改...
  17. 疫情肆虐,延迟返工,今年的“金三银四”还能照常进行吗?
  18. android 电池电量广播,Android查看电池电量的方法(基于BroadcastReceiver)
  19. 机器学习: Metric Learning (度量学习)
  20. d2lzh_pytorch的安装

热门文章

  1. 我们都被监控了?揭秘全球电信网络7号信令(SS7)漏洞
  2. 查看JDK版本和安装路径
  3. Xcode9 调整模拟器大小
  4. 微星主板节能模式怎么关闭_技嘉小雕、微星迫击炮、华硕电竞特工三款主板对比...
  5. 土方计算软件 FastTFT15.0免狗安装包下载
  6. 项目管理:如何做好进度管理?
  7. JS打开新窗口并居中显示
  8. tcp 压力 测试 软件,强大的TcpServer压力测试工具及源码(附突破连接限制的方法和工具)...
  9. UISwitch用法详解
  10. 商务与经济统计 第三章案例