链接管理与安全性:
每个客户端连接都在服务器进程中拥有一个线程。
MySQL5.5以及更新的版本提供了一个API,支持线程池插件,可以使用池中少量的线程服务大量的链接。
认证基于用户名、密码和原始主机信息。
 
并发控制:
在处理并发读或者写时,可以通过实现一个由两种类型的锁组成的锁系统来解决问题,这两种类型的锁通常被称为共享锁(shared lock)、排他锁(exclusive lock)。也叫读锁或者写锁。
 
锁策略:
在锁的开销和数据的安全性之间寻求平衡,一般都是在表中施加行级锁(row-level-lock)。
 
表锁和行级锁
事务:一组原子性的sql查询,一个独立的工作单元。如果数据库引擎能够成功的对数据库应用该组查询的全部语句,那么就执行该组查询。

ACID:原子性atomicity 一致性consistency 隔离性isolation 持久性 durability
 
四种隔离级别:
READ UNCOMMITTED 未提交读 : 事务中的修改,即使没有提交,对于其他事务也都是可见的。事务可以读取未提交的数据,脏读。
READ COMMITTED 提交读: 大多数数据库的默认隔离级别, read committed ,但是MySQL不是。一个事务从开始到提交之前,所做的任何修改对其他事务都是不可见的。
REPEATABLE READ 可重复读 : 解决了脏读的问题,保障了在同一个事务中多次读取同样的记录结果一致。解决不了幻读问题(当某个事务在读取某个范围内的记录的时候,另一个事务又在该范围内插入了新的记录)。 可重复读是MySQL默认的事务隔离级别。
SERIALIZABLE 可串行化 : serializable是最高级的隔离级别。
 
MVCC 多版本并发控制。
 
InnoDB 存储引擎:InnoDB存储引擎是MySQL的默认事务性引擎,也是最重要,最广泛的存储引擎。
 
MyISAM 存储引擎: 不支持事务和行级锁。奔溃后无法完全恢复。
TPS:每秒事务数。
 
 
Scherma 与数据类型优化:
存储数据选择正确的数据类型: 更小的,占用跟少的磁盘、内存和CPU缓存。简单就好,使用MySQL内建的类型来存储日期时间,使用整形存储IP地址。尽量避免NULL,
 
timestamp只是用datetime 一半的存储空间。但允许的时间范围小的多。
 
对于存储来说INT(1)和INT(20)是一样的。
 
BLOB和TEXT 都是为了 存贮更大的数据而设计的字符串数据类型,分别采用二进制和字符方式存储。
与其他类型不同,MySQL把每个blob和text值当作一个独立的对象处理。
 
MySQL提供了FROM_UNIXTIME() 函数把unix时间戳转换为日期,并提供了UNIX_TIMESTAMP() 函数把日期函数转换为unix 时间戳。
 
TIMESTEMP的列默认为 NOT NULL ,没有指定列的值则默认为当前时间。
 
mysql把BIT当作字符串类型。
 
 
 
 
 

MySQL--高性能MySQL笔记一的更多相关文章

  1. MySQL高性能学习笔记

    索引 何为索引?有什么作用? 索引是一种用于快速查询和检索数据的数据结构.常见的索引结构有: B 树, B+树和 Hash. 索引的作用就相当于目录的作用.打个比方: 我们在查字典的时候,如果没有目录 ...

  2. 《高性能MySQL》读书笔记--锁、事务、隔离级别 转

    1.锁 为什么需要锁?因为数据库要解决并发控制问题.在同一时刻,可能会有多个客户端对表中同一行记录进行操作,比如有的在读取该行数据,其他的尝试去删除它.为了保证数据的一致性,数据库就要对这种并发操作进 ...

  3. 《高性能MySQL》笔记——MySQL建表数据类型的选择

    前段时间看了<高性能MySQL>中的选择优化的数据类型,这里主要是做一下笔记. 首先数据选择有几个简单原则: 更小的通常更好.一般情况下,应该尽量使用可以正确存储数据的最小数据类型.例如只 ...

  4. 【高性能Mysql 】读书笔记(三)

    第5章 创建高性能的索引 本文为<高性能Mysql 第三版>第四章读书笔记,Mysql版本为5.5 索引基础 索引的重要性:找一本800面的书的某一段内容,没有目录也没有页码(页码也可类比 ...

  5. 【高性能Mysql 】读书笔记(二)

    第4章 Schema 与数据类型优化 本文为<高性能Mysql 第三版>第四章读书笔记,Mysql版本为5.5 选择优化的数据类型 选择合适数据类型的三个原则 更小的通常更好 - 速度更快 ...

  6. 高性能MySQL --- 读书笔记(1) - 2016/8/2

    此书不但帮助MySQL初学者提高使用技巧,更为有经验的MySQL DBA指出了开发高性能MySQL应用的途径.全书包括14章,内容覆盖MySQL系统架构.设计应用技巧.SQL语句优化.服务器性能调优. ...

  7. 高性能mysql学习笔记

    此文已由作者朱笑天授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 笔者在工作之余阅读了一下高性能mysql,以下的内容对mysql的介绍以及书中涉及一些概念的总结归纳. 1. ...

  8. 【高性能Mysql 】读书笔记(一)

    第1章 Mysql架构与历史 MYSQL最重要.最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理( Query Processing)及其他系统任务( Server Task)和数据的存储 ...

  9. 1121高性能MySQL之运行机制

    本文来自于拜读<高性能MySQL(第三版)>时的读书笔记作者:安明哲转载时请注明部分内容来自<高性能MySQL(第三版)> MySQL的逻辑构架 MySQL服务器逻辑架构 最上 ...

  10. 高性能mysql:创建高性能的索引

    本文系阅读<高性能MySQL>,Baron Schwartz等著一书中第五章 创建高性能的索引的笔记,索引是存储引擎用于快速找到记录的一种数据结构. 索引对于良好的性能非常关键,尤其是当表 ...

随机推荐

  1. GitHub-Microsoft:DotNet2

    ylbtech-GitHub-Microsoft:DotNet2 1.返回顶部 · SignService Code Signing service and Client for Authentico ...

  2. Jdbc中大文本类型的处理

    Oracle中大文本数据类型, Clob    长文本类型   (MySQL中不支持,使用的是text) Blob    二进制类型 MySQL数据库, Text    长文本类型 Blob    二 ...

  3. react-native命令初始化项目后可借助webstrom快速运行与调试项目

    利用webstorm工具打开RN项目,点击 然后添加 然后进行配置 最后,点击apply ,OK完成 后期运行项目直接点击:

  4. js解析后台传过来的json

    java ,action public void print(String rs){ PrintWriter out; try { HttpServletResponse response = Ser ...

  5. Java爬虫爬取京东商品信息

    以下内容转载于<https://www.cnblogs.com/zhuangbiing/p/9194994.html>,在此仅供学习借鉴只用. Maven地址 <dependency ...

  6. 有效使用Django的QuerySets

    对象关系映射 (ORM) 使得与SQL数据库交互更为简单,不过也被认为效率不高,比原始的SQL要慢. 要有效的使用ORM,意味着需要多少要明白它是如何查询数据库的.本文我将重点介绍如何有效使用 Dja ...

  7. Head First HTML 与 CSS 学习笔记

    总的来说,这本书作为入门HTML和CSS还是不错的,讲解生动有趣,这也是Head First系列书籍的特点.缺点就是讲解的不够全面~ 第三章 一般来讲,如果要引用一段或者多段文字, 就要使用<b ...

  8. list 属性字段直接转成字符串数组

    List<Car> cars = //whatever; string concat = String.Join(",", cars.Select(c => c. ...

  9. DNS_主从搭建

    一.DNS简介 1.DNS DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库.有了DNS服务器,我们只需要记录一个网站的域名即可访问,而再也不 ...

  10. Leetcode #9 Easy <Palindrome Number>

    题目如图,下面是我的解决方法: class Solution { public boolean isPalindrome(int x) { if(x < 0) //由题意可知,小于0的数不可能为 ...