mysql存储过程中怎么睡几秒_MySql的逻辑架构
Mysql在互聯(lián)網(wǎng)企業(yè)中應(yīng)用非常廣泛,互聯(lián)網(wǎng)企業(yè)的特點(diǎn)訪問量非常大,怎么樣優(yōu)化mysql就成了擺在我們面前的一道難題。
我們從mysql的邏輯架構(gòu)說起:
最上面一層是客戶端的連接服務(wù),主要完成客戶端的連接處理,授權(quán)認(rèn)證。在該層有一個(gè)線程池,每一個(gè)連接從線程池中獲取線程,省去了創(chuàng)建和銷毀線程的開銷。
中間這一層可以完成查詢解析,分析,優(yōu)化,緩存。存儲過程,觸發(fā)器,視圖也是在這一層。
最下面一層是存儲引擎,負(fù)責(zé)mysql中數(shù)據(jù)的存儲和提取。
和其它數(shù)據(jù)庫有所不同,mysql的存儲引擎是可插拔的,可以根據(jù)不同的場合使用不同的存儲引擎。
存儲引擎:
存儲引擎就是存儲數(shù)據(jù),更新查詢數(shù)據(jù),建立索引等等的技術(shù)實(shí)現(xiàn)方式,mysql5.0支持的存儲引擎包括: InnoDB 、MyISAM 、BDB、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中使用最多的是InnoDB 和MyISAM,mysql5.5之后InnoDB是默認(rèn)的存儲引擎我們重點(diǎn)討論這兩個(gè)存儲引擎
查看mysql默認(rèn)存儲引擎的命令:
show variables like '%storage_engine%'
InnoDB存儲引擎和MyISAM的對比圖:
InnoDB存儲引擎和MyISAM存儲引擎的最大區(qū)別有以下三點(diǎn):
1. InnoDB支持事物,MyISAM不支持
2. InnoDB支持外鍵,MyISAM不支持
3. 批量插入的速度MyISAM要高于InnoDB
基于以上特點(diǎn)來看看在實(shí)際使用中應(yīng)該如何選擇存儲引擎:
InnoDB存儲引擎:因?yàn)镮nnoDB存儲引擎支持事物,所以對于要求事物完整性的場合需要選擇InnoDB,比如數(shù)據(jù)操作除了插入和查詢以外還包含有很多更新刪除操作,像財(cái)務(wù)系統(tǒng)等對數(shù)據(jù)準(zhǔn)確性要求較高的系統(tǒng)。
MyISAM存儲引擎:如果系統(tǒng)是以讀操作和插入操作為主,只有很少的更新刪除操作,并且對事物的之處沒有要求那么可以選擇這個(gè)存儲引擎。
總結(jié)
以上是生活随笔為你收集整理的mysql存储过程中怎么睡几秒_MySql的逻辑架构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 真相了!敲代码时,程序员戴耳机究竟在听什
- 下一篇: 事务管理基础:数据库的并发控制相关知识笔