真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql體系結(jié)構(gòu)

一.MySQL分層架構(gòu)
1.鏈接層
處理網(wǎng)絡(luò)的鏈接,鏈接的網(wǎng)絡(luò)認(rèn)證。
mysql體系結(jié)構(gòu)

- 查看鏈接權(quán)限

點(diǎn)擊(此處)折疊或打開

創(chuàng)新互聯(lián)的客戶來(lái)自各行各業(yè),為了共同目標(biāo),我們?cè)诠ぷ魃厦芮信浜希瑥膭?chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對(duì)我們的要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。專業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、電商網(wǎng)站開發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā)。

  1. mysql> select user,host from mysql.user\G;
  2. ERROR 2006 (HY000): MySQL server has gone away
  3. No connection. Trying to reconnect...
  4. Connection id: 3
  5. Current database: *** NONE ***
  6. *************************** 1. row ***************************
  7. user: mysql.session
  8. host: localhost
  9. *************************** 2. row ***************************
  10. user: mysql.sys
  11. host: localhost
  12. *************************** 3. row ***************************
  13. user: root
  14. host: localhost
  15. 3 rows in set (0.00 sec)
  16. ERROR:
  17. No query specified
  18. mysql> grant all on *.* to root@'%' identified by 'root';
  19. Query OK, 0 rows affected, 1 warning (0.00 sec)
  20. mysql> flush privilege;
- 查看連接

點(diǎn)擊(此處)折疊或打開

  1. mysql> show processlist;
  2. +----+------+-----------+------+---------+------+----------+------------------+
  3. | Id | User | Host | db | Command | Time | State | Info |
  4. +----+------+-----------+------+---------+------+----------+------------------+
  5. | 3 | root | localhost | NULL | Query | 0 | starting | show processlist |
  6. +----+------+-----------+------+---------+------+----------+------------------+
- kill 會(huì)話
kill 3;
kill query 4;  殺掉會(huì)話正在執(zhí)行的SQL,而不關(guān)閉會(huì)話。

- 連接池
(1).如果在程序中,頻繁的創(chuàng)建和銷毀mysql和客戶端連接,開銷很嚴(yán)重。
(2).為了減少相關(guān)的連接創(chuàng)建的開銷,在應(yīng)用層部署一個(gè)連接池。
(3).會(huì)保持一定的連接在連接池中,如果應(yīng)用想請(qǐng)求連接的話,不再需要向mysql請(qǐng)求,而是直接向連接池請(qǐng)求鏈接,減少了應(yīng)用和mysqld頻繁創(chuàng)建鏈接的開銷。

- 線程池
(1).每個(gè)連接過(guò)來(lái),就分配一個(gè)線程對(duì)該鏈接提供服務(wù),鏈接撤銷后就撤銷該線程,在連接的頻繁創(chuàng)建與銷毀過(guò)程中,會(huì)需要消耗一定的系統(tǒng)資源。
(2).為了避免這個(gè)情況的發(fā)生線程池內(nèi)部的線程是可以共用的,如果連接銷毀后,線程是不會(huì)被銷毀的,可以繼續(xù)為下一個(gè)連接提供服務(wù)。
(3).社區(qū)版沒(méi)有線程池的特性

mysql體系結(jié)構(gòu)
2. SQL層
SQL的查詢解析,分析,優(yōu)化,緩存以及所有的內(nèi)置函數(shù),所有存儲(chǔ)引擎的功能都在這一層實(shí)現(xiàn),比如存儲(chǔ)過(guò)程。
mysql體系結(jié)構(gòu)
mysql體系結(jié)構(gòu)

- 查詢緩存
query_cache_size 1048576
query_cache_type OFF
(1).如果mysql之前執(zhí)行的sql,直接從查詢緩存返回結(jié)果
(2).局限性比較大,任何查詢結(jié)果有變更,都需要進(jìn)行更新,還持有全局鎖,鎖力度很重,效率很低。
使用場(chǎng)景: 如果查詢的SQL語(yǔ)句和結(jié)果集比較固定,可以考慮開啟查詢緩存。

- 修改系統(tǒng)參數(shù)
show variables like 'log%';
(1).只讀參數(shù):關(guān)閉數(shù)據(jù)庫(kù)后進(jìn)行修改,重啟數(shù)據(jù)庫(kù)后生效,不能在線修改
mysql> set global query_cache_type=on;
ERROR 1651 (HY000): Query cache is disabled; restart the server with query_cache_type=1 to enable it

(2).在線參數(shù):可以直接開庫(kù)修改,不用重啟數(shù)據(jù)庫(kù)即可生效

(3).全局參數(shù):修改后,所有新會(huì)話,會(huì)生效
show global variable;
SET GLOBAL var_name = value;
(4).會(huì)話參數(shù):只在當(dāng)前會(huì)話生效
show session variable;
SET SESSION var_name = value;


- SQL執(zhí)行過(guò)程
(1).SQL解析(在數(shù)據(jù)庫(kù)內(nèi)部將sql文本轉(zhuǎn)換為sql解析樹)
(2).SQL優(yōu)化改寫
(3).SQL的執(zhí)行計(jì)劃確立
(4).SQL執(zhí)行
(5).binlog

3.存儲(chǔ)引擎層

MySQL的存儲(chǔ)引擎在存儲(chǔ)引擎層,負(fù)責(zé)存儲(chǔ)數(shù)據(jù)。正是因?yàn)榉謱拥拇嬖?,?dǎo)致MySQL本身有一些局限性

mysql體系結(jié)構(gòu)
mysql5.5版本之前默認(rèn)的存儲(chǔ)引擎是MyISAM
查看存儲(chǔ)引擎
show plugins;
建表的時(shí)候要選擇存儲(chǔ)引擎
create table t1 (id int) ENGINE=myisam;
show create table t1\G;

- Innodb MyISAM區(qū)別
mysql體系結(jié)構(gòu)

- innodb表結(jié)構(gòu)設(shè)計(jì)
一對(duì)一
一對(duì)多
多對(duì)多

不推薦使用外鍵,因?yàn)榇笈坎迦霐?shù)據(jù)時(shí),每次插入都要檢查外鍵約束,造成性能大量消耗。 雖然不推薦,但是依賴關(guān)系依然存在。


- innodb和myisam讀寫性能測(cè)試
mysql體系結(jié)構(gòu)

mysql體系結(jié)構(gòu)


標(biāo)題名稱:mysql體系結(jié)構(gòu)
網(wǎng)頁(yè)網(wǎng)址:http://weahome.cn/article/ihjggs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部