搜尋
首頁資料庫mysql教程MySQL的原理,安装和基本使用

词法分析器:将用户的命令进行切片,一个词一个词用空格隔开,获得用户要查询的表,内容,用户的权限等5.优化:执行路径的选择,生

mysql执行流程:

mysql是一个单进程的服务,对于每一个请求都是用线程来响应的,这就需要一个连接器来处理新用户的请求,响应,销毁


1.客户端请求,服务器端(连接器)开辟线程响应用户

2.用户发起SQL语句查询数据库

3.查询缓存:记录用户的SQL查询语句,如果再次查询同样内容,就返回缓存

4.如果缓存没有进入分析器:(分析器也可能借签缓存)

语法分析器:用户命令语法是否正确

词法分析器:将用户的命令进行切片,一个词一个词用空格隔开,获得用户要查询的表,内容,用户的权限等

5.优化:执行路径的选择,生成执行树

每个SQL语句都有很多执行路径,优化的目的就是在这些执行路径里选择一个最优的执行路径

6.存储引擎:用于管理存储在文件系统,甚至是裸设备上的数据管理程序,它本身给上层应用提供不同的管理,有的支持事务,有的不支持事务。


#查询缓存可以大大加速这个过程,不过缓存本身可能带来劣势,假如一个用户要查询一个数据,正好缓存里有,而在之前,这条数据刚刚被修改过那么返回的缓存结果就是过时的。


MYSQL的结构:


客户端:mysql

连接器: NativeC API 本地C语言接口

JDBCJAVA的数据库连接器

ODBC开放式数据库互联,非常底层 OracleSOLServer都支持

连接池(conetcionpool):它的后方是MYSQL的真正功能

SQL接口:用户通过sql客户端发过来的命令,由sql接口接收

DML数据操作语言:查询,修改,升级数据等

DDL数据定义语言:创建一个新的数据库,新的索引,删除一个用户等

存储过程视图触发器


Parser:分析器

查询 事务 对象权限

optimizer:访问路径

生成执行树


caches&buffers:缓存和缓存

优化里最重要的是缓存的优化


pluggablestroage engines存储引擎(插件式):将逻辑结构转换为物理结构的程序

ManagementServices & Utilites工具:备份,恢复,,安全,移植,集群等,这些工具一般和文件系统打交道,不需要和mysql-server打交道,它们对应的都是命令。

数据库对象:(逻辑)

表,二维关系

索引

视图

触发器

存储过程

存储函数

事件調读器

游标

用户


物理

文件


将数据库对象和物理对象对应起来就是存储引擎

Mysql

*插件式的存储引擎


mysqlmysql的连接方式:tcp,socket,pipe,memory


mysql的交互方式:interact batch


SQL

结构化查询语言

bash

select,update,create,drop


Mysql安装

版本选择:

GA

RC

beta

alpha


在以后的使用过程中,RPM包很方便,但是会带来各种问题,所以尽量使用编译安装甚至是LFS

Mysql-client

Mysql-devel:编译安装软件包,需要用到Mysql的时候才安装这个软件包

Mysql-embedded: mysq嵌入式

Mysql-ndb-management

Mysql-server

Mysql-shared:可能被客户端或者服务器端的某些工具用到

Mysql-shared-compat

Mysql-test:测试Mysql,提供测试组件


一般来讲,完全的MYSQL只需要安装clientdevel share server


安装目录的作用

bin

data默认情况下将数据和索引存放的目录

inclued

lib

man

mysql-test

scripts安装时的初始化脚本

share某种特定语言的错误信息的,信息原始文件存放

sql-bench压力测试工具

support-file提供一些初始化的文件和脚本

linux

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
深入理解MySQL索引优化器工作原理深入理解MySQL索引优化器工作原理Nov 09, 2022 pm 02:05 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于索引优化器工作原理的相关内容,其中包括了MySQL Server的组成,MySQL优化器选择索引额原理以及SQL成本分析,最后通过 select 查询总结整个查询过程,下面一起来看一下,希望对大家有帮助。

sybase是什么数据库sybase是什么数据库Sep 22, 2021 am 11:39 AM

sybase是基于客户/服务器体系结构的数据库,是一个开放的、高性能的、可编程的数据库,可使用事件驱动的触发器、多线索化等来提高性能。

visual foxpro数据库文件是什么visual foxpro数据库文件是什么Jul 23, 2021 pm 04:53 PM

visual foxpro数据库文件是管理数据库对象的系统文件。在VFP中,用户数据是存放在“.DBF”表文件中;VFP的数据库文件(“.DBC”)中不存放用户数据,它只起将属于某一数据库的 数据库表与视图、连接、存储过程等关联起来的作用。

数据库系统的构成包括哪些数据库系统的构成包括哪些Jul 15, 2022 am 11:58 AM

数据库系统由4个部分构成:1、数据库,是指长期存储在计算机内的,有组织,可共享的数据的集合;2、硬件,是指构成计算机系统的各种物理设备,包括存储所需的外部设备;3、软件,包括操作系统、数据库管理系统及应用程序;4、人员,包括系统分析员和数据库设计人员、应用程序员(负责编写使用数据库的应用程序)、最终用户(利用接口或查询语言访问数据库)、数据库管理员(负责数据库的总体信息控制)。

microsoft sql server是什么软件microsoft sql server是什么软件Feb 28, 2023 pm 03:00 PM

microsoft sql server是Microsoft公司推出的关系型数据库管理系统,是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理,具有使用方便可伸缩性好与相关软件集成程度高等优点。SQL Server数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。

access数据库的结构层次是什么access数据库的结构层次是什么Aug 26, 2022 pm 04:45 PM

结构层次是“数据库→数据表→记录→字段”;字段构成记录,记录构成数据表,数据表构成了数据库。数据库是一个完整的数据的记录的整体,一个数据库包含0到N个表,一个表包含0到N个字段,记录是表中的行。

go语言可以写数据库么go语言可以写数据库么Jan 06, 2023 am 10:35 AM

go语言可以写数据库。Go语言和其他语言不同的地方是,Go官方没有提供数据库驱动,而是编写了开发数据库驱动的标准接口,开发者可以根据定义的接口来开发相应的数据库驱动;这样做的好处在于,只要是按照标准接口开发的代码,以后迁移数据库时,不需要做任何修改,极大方便了后期的架构调整。

mysql查询慢的因素除了索引,还有什么?mysql查询慢的因素除了索引,还有什么?Jul 19, 2022 pm 08:22 PM

mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题。遇到这种问题,我们一般也会想到是因为索引。那除开索引之外,还有哪些因素会导致数据库查询变慢呢?

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。