一.
1 每个 客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心或者cpu中运行.服务器会负责缓存线程,因此不需要为每一个新建的连接创建或销毁线程.
对于select语句,在解析查询之前,服务器会先检查查询缓存,如果能在其中找到对应的查询,服务器则不再执行查询解析,优化和执行的整个过程,而直接返回查询缓存中的结果.
对数据的并发处理:
共享锁和排他锁,也叫读锁或写锁.
读锁是共享的,相互不阻塞的.多个客户在同一时刻可以同时读取同一个资源,而互不干扰.
写锁是排他的,会阻塞其他的写锁或读锁.只有这样,才能保证同一时刻只有一个用户能执行写,并防止其他用户读取正在写入的同一资源
锁粒度
加锁也需要消耗资源,包括获得锁,检查锁是否解除,释放锁.
一般都是表上施加行级锁(row level lock)
两种锁策略:
表锁:锁定整张表,阻塞其他用户对该表的所有读写操作.
行级锁:
最大程度的支持并发处理,(但因为每行都可能有锁的操作,锁的开销最大).InnoDB实现了行级锁.行级锁只在存储引擎层实现,而服务器层没有实现.
事务
隔离级别
未提交读:事务中的修改,在事务未提交前,其他事务也是可见的,这种情况叫脏读.在实际中很少使用.
提交读:大多数数据库都是这种隔离级别的(mysql不是).提交事务前,其他事务不能看到修改的数据
可重复读:mysql的默认隔离级别.

死锁:
InnoDB处理死锁:将持有 最少行级排他锁的事务进行回滚,

mysql中的事务:

转载于:https://www.cnblogs.com/luleiitlife/p/8545004.html

高性能MYSQL读书笔记1相关推荐

  1. 高性能MySQL读书笔记 (五)

    1. 优化服务器设置 MySQL有大量的可以修改的参数,但不应该随便修改.应该将更多时间花在schema的优化,索引,查询设计上 配置文件路径: 通常在/etc/my.cnf 不建议动态修改变量,因为 ...

  2. 高性能MySQL读书笔记---查询优化

    查询优化 查询缓慢的原因 是否向数据库请求了不必要的数据 1.查询时是否返回了全部或者大部分数据然后再进行处理的. 2.进行单查或者多表联查时是否返回了全部列数据.例如: SELECT * FORM ...

  3. 高性能MySQL读书笔记

    数据类型 整数类型 类型 位数 TINYINT 8 SMALLINT 16 MEDIUMINT 24 INT 32 BIGINT 64 int(1) 和int(28)存储的位数相同,mysql不会限制 ...

  4. mysql数据库介绍笔记_MySQL数据库之MySQL读书笔记

    本文主要向大家介绍了MySQL数据库之MySQL读书笔记,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. mysql> CREATE TABLE tb6( -> id  ...

  5. 高性能MySQL读书计划

    知识星球 码农翻身(作者:刘欣)的读书活动 读书群规则: 入群需要交100元押金, 每周需要交作业输出一篇不少于200字的读书笔记, 读书分三阶段进行, 如果每个阶段没交作业的次数>=2 , 押 ...

  6. 高性能mysql学习笔记--复制

    高性能mysql 十:复制 1,复制的概述 复制解决的基本问题是让一台服务器的数据与其他服务器要保持同步. 两种方式:基于行的复制和基于语句的复制,都是通过在主库上记录二进制日志,在备库上重放日志来实 ...

  7. 高性能mysql学习笔记--索引

    高性能mysql 五:索引 1,B-Tree索引 全值匹配:匹配所有列. 匹配最左前缀:只使用索引的第一列. 匹配列前缀:只使用索引的第一列. 匹配范围值:只使用索引的第一列. 精确匹配某一列并范围匹 ...

  8. 高性能mysql学习笔记--高级特性

    高性能mysql 七:高级特性 1,分区表 分区表是一个独立的逻辑表,但是底层由多个无力字表组成,实现分区的代码实际上是对一组地层表的句柄对象的封装,对分区表的请求,都会通过句柄对象转化成对储存引擎的 ...

  9. 高性能MySQL读书摘要(五)创建高性能的索引

    索引优化应该是最有效的优化手段了."最优"的索引有时比一个"好的"索引性能要好两个数量级.创建一个真正的"最优"的索引经常需要重写查询,所以 ...

最新文章

  1. HTML特殊转义字符对照表
  2. 有人喜欢爱情测试小游戏么
  3. Linux下的TCP Wrapper机制
  4. Python中的并行处理(Pool.map()、Pool.starmap()、Pool.apply()、)
  5. PL/SQL 处理流程
  6. 怎么用odbc连接mysql数据库连接_PowerDesigner通过ODBC来实现Mysql数据库的连接操作...
  7. JFlow CCFlow工作流引擎北京培训邀请函
  8. ubuntu下安装mssql(sqlserver)客户端及使用
  9. opencv机器学习ml模块简介
  10. 毕业生共享屏幕3小时 被骗70万
  11. Spring :读取配置文件(.properties、.yam)相关注解
  12. Java 二叉树的层序遍历
  13. 树莓派控制舵机和步进电机
  14. ThoughtWorks面试经历——武汉java开发
  15. Google 和 bing 都无法替代的10大深网搜索引擎
  16. dnsmasq-ipv6测试
  17. boost::asio 学习
  18. HDMI热插拔原理及信号解析
  19. 自动化测试之Appium
  20. JAVA代码托管平台_推荐几个常用的代码托管平台

热门文章

  1. 新版网易新闻客户端应用源码
  2. 用CSV文件读写数据的两种方式(转)
  3. redis实例python_使用python操作redis(管道)
  4. tomcat 占用的内存越来越大_智能手机内存为什么越来越大 就这三点原因
  5. pythondef元组参数传递_Python参数传递(传值传引用)
  6. 接收字节流_Java之IO流、属性配置文件
  7. 使用Netty编写一个简单的群聊系统
  8. 信道模型多径传播阴影衰落——无线接入与定位(2)
  9. 导出oracle数据c#代码,C# 程序导入导出oracle数据库
  10. computed用发_Vue中的computed属性和nextTick方法