亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql體系結構

發布時間:2020-08-10 06:32:01 來源:ITPUB博客 閱讀:202 作者:wwjfeng 欄目:MySQL數據庫
一.MySQL分層架構
1.鏈接層
處理網絡的鏈接,鏈接的網絡認證。
mysql體系結構

- 查看鏈接權限

點擊(此處)折疊或打開

  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;
- 查看連接

點擊(此處)折疊或打開

  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 會話
kill 3;
kill query 4;  殺掉會話正在執行的SQL,而不關閉會話。

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

- 線程池
(1).每個連接過來,就分配一個線程對該鏈接提供服務,鏈接撤銷后就撤銷該線程,在連接的頻繁創建與銷毀過程中,會需要消耗一定的系統資源。
(2).為了避免這個情況的發生線程池內部的線程是可以共用的,如果連接銷毀后,線程是不會被銷毀的,可以繼續為下一個連接提供服務。
(3).社區版沒有線程池的特性

mysql體系結構
2. SQL層
SQL的查詢解析,分析,優化,緩存以及所有的內置函數,所有存儲引擎的功能都在這一層實現,比如存儲過程。
mysql體系結構
mysql體系結構

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

- 修改系統參數
show variables like 'log%';
(1).只讀參數:關閉數據庫后進行修改,重啟數據庫后生效,不能在線修改
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).在線參數:可以直接開庫修改,不用重啟數據庫即可生效

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


- SQL執行過程
(1).SQL解析(在數據庫內部將sql文本轉換為sql解析樹)
(2).SQL優化改寫
(3).SQL的執行計劃確立
(4).SQL執行
(5).binlog

3.存儲引擎層

MySQL的存儲引擎在存儲引擎層,負責存儲數據。正是因為分層的存在,導致MySQL本身有一些局限性

mysql體系結構
mysql5.5版本之前默認的存儲引擎是MyISAM
查看存儲引擎
show plugins;
建表的時候要選擇存儲引擎
create table t1 (id int) ENGINE=myisam;
show create table t1\G;

- Innodb MyISAM區別
mysql體系結構

- innodb表結構設計
一對一
一對多
多對多

不推薦使用外鍵,因為大批量插入數據時,每次插入都要檢查外鍵約束,造成性能大量消耗。 雖然不推薦,但是依賴關系依然存在。


- innodb和myisam讀寫性能測試
mysql體系結構

mysql體系結構

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平顶山市| 喀什市| 潮州市| 蓝田县| 仁怀市| 茌平县| 临泉县| 张家港市| 大宁县| 湟中县| 新乡市| 苍山县| 乌拉特中旗| 巴楚县| 罗城| 奉贤区| 韩城市| 财经| 梧州市| 广汉市| 岗巴县| 临猗县| 蚌埠市| 诸暨市| 宁波市| 根河市| 密云县| 镇沅| 海晏县| 蓬安县| 巢湖市| 马边| 宝兴县| 乐安县| 鸡泽县| 香格里拉县| 宽甸| 崇仁县| 尉犁县| 濮阳市| 伽师县|