1. 高性能MySQL - 1.MySQL架构

    MySQL逻辑架构

    mysql-arch

    1. 每个客户连接在服务器进程中都拥有自己的线程,每个连接所属的查询都会在指定的某个单独线程中完成,这些线程轮流运行在某个CPU核心或CPU上。服务器负责缓存线程,因此不需要为每个新的连接重建或撤销线程。

    2. MySQL会解析查询,并创建一个内部数据结构(解析树),然后对其进行各种优化。其中包括重写查询,决定查询的读表顺序,以及选择需使用的索引等。用户可以通过特殊的关键字给优化器传递各种提示,影响它的决策过程。另外还可以请求服务器给出优化过程的各种说明,使用户可以知晓服务器是如何进行优化决策的,为用户提供一个参考基准,方便用户重写查询、架构和修改相关配置,便于应用尽可能高效地运行。

    优化器并不关心某个表使用哪种存储引擎,但存储引擎对服务器的查询优化过程有影响。优化器会请求存储引擎为某种具体操作提供性能与开销方面的信息,以及表内数据的统计信息。

    不过,在解析查询之前,服务器会"询问"查询缓存,它只能保存SELECT语句和相应的结果。如果能在缓存中找到将要执行的查询,服务器就不必重新解析、优化或重新执行查询,只需直接返回已有结果即可。

    并发控制

    1. 读锁(Read Lock)/写锁(Write Lock):并发控制的概念很简单-在处理并发写或并发读时,系统会使用一套锁系统来解决问题。这种锁系统由两类锁组成,通常称之为 共享锁 …

    Tagged as : 数据库 MySQL

Page 1 / 1