mysql是一種單程序,多執行緒的軟體
從mysql邏輯架構分析主要分為三層:
1.服務層
2.核心層
3.儲存引擎層
服務層:主要是完成執行緒的管理程序中可以派生出新的執行緒,在建立和消除執行緒是一種消耗系統資源,所有mysql就建立出乙個 執行緒緩衝池,將不用的執行緒放到緩衝池中,可以解決併發量大的問題
核心層:主要就是處理查詢的優化
儲存引擎層:可插式儲存引擎(查詢管理運算元據的),可以處理檔案系統,檔案和日誌
這個是對mysql在自己的腦海中有個模型
學習一些基本的建立刪除表,資料庫的sql語句:
簡單的sql語句
建立資料庫
create database 資料庫名字
刪除資料庫
drop database 資料庫名字
顯示所有的資料庫
show databases 顯示所有的資料庫
當輸入的語句存在細節上的錯誤的時候可以通過上下鍵可以調出剛剛的寫的語句
建立和刪除表
create table 表名
drop table 表名
顯示所有的表
show tables
操作指定的資料庫
use 資料庫名
檢視資料表結構
desc 表名
詳細的檢視該錶建立的資訊
show create table 表名
插入到表中的資料
insert into 表名 set 字段=插入的內容
還有一些多表查詢,總之這些sql語句只要多寫幾次就會,寫法是固定的,再下來我會分享乙個sql的優化
主要講述了在實際的寫sql語法的過程中需要注意的寫法,以及如何的提公升執行的效率
事務在sql中是很重要的
事務是由一組sql語句組成的邏輯處理單元
原子性atomicity
一致性consistent
隔離性isolation
永續性durable
從事務的概念就能聯絡到我們所謂的併發的問題
mysql的併發控制
多事物執行方式:
序列執行方式:同一時間只有乙個事物執行效率低,無法充分利用資源
交叉併發執行:多事物交叉執行單處理器的併發方式
同時併發執行:多處理器系統中使用每個處理器處理乙個事物
併發執行導致的問題:併發勢必面臨同讀同寫 問題,同讀同寫 導致破壞事物隔離性和資料不一致
發生資料不一致3種情況:
1.丟失修改
2.不可重複讀
3.讀 髒資料
當我們產生併發所帶來的問題我們就需要想著如何的解決並發給我們帶來的問題?
併發就是一起執行了同乙個事務,那我們就應該想著如何控制,限制讓多個人執行同一件事
這個時候鎖機制就出來
鎖:因為為了避免多事物併發處理導致資料不一致,所以多個事物之間要隔離。事物對某個資料物件操作前,先向系統發出請求,對其枷鎖,枷鎖後,事物則對此資料物件具有一定的控制,在釋放鎖之前,其他事物不能更新此資料物件
鎖分類:基本兩種
讀鎖:又稱為共享鎖,當事物1對某個資料物件加讀鎖,則其他事物只能對此資料物件讀加鎖,不能加寫鎖,直到事物1釋放鎖
寫鎖:又稱為排他鎖
當事物1對某個資料物件加寫鎖,則其他事物都不能對此資料物件加任何鎖
悲觀鎖和樂觀鎖
本質上是對鎖機制的一種看待角度
悲觀鎖:
是對資料被外界(包括本系統當前的其他事務,以及來自外部系統的事務處理)修改持保守態度,因此,在整個資料處理過程 中,將資料處於鎖定狀態
樂觀鎖:
相對悲觀鎖而言,樂觀鎖假設認為資料一般情況下不會造成衝突,所以在資料進行提交更新的時候,才會正式對資料的衝突與 否進行檢測,如果發現衝突了,則讓返回使用者錯誤的資訊,讓使用者決定如何去做
接下來就是我們在建立表的,表中的那些欄位的型別,每個型別能儲存的大小,這個在後續補充
根據我們實際的需求來決定需要的資料型別的大小
思維模型 思維模型基礎篇
學習思維模型也有兩年了,多多少少也有一些收穫,提前宣告一下,我的絕大多數觀點來自成甲以及查理芒格。1.我們為什麼要學習思維模型?想要明白這個問題,首先你要明白什麼是思維模型?思維模型是一種持續解決問題的有效策略。什麼是持續解決問題的有效策略呢?就是當你遇到乙個問題的時候,你可能第一反應就是使用你的經...
系統思維模型看機器學習
1 機器學習的要素和深度學習的要素分別是什麼?a 機器學習的三要素簡單來說就是模型 策略和演算法.模型 是乙個數學函式 策略 就是使用一種什麼樣的評價來度量模型訓練過程中學習好壞的方法,同時根據這個方法去調整模型的引數。舉個例子比如損失函式。演算法 指模型的計算方法,比如梯度下降 在機器學習界流行這...
思維模型 WBS
本系列文章 主要是 分享 思維模型,涉及各個領域,重在提公升認知 1 模型故事 簡單來說,我們平時看書的時候,書籍的目錄就是wbs的乙個使用,如下所示 在這裡我們可以看到,每一章下面有每一節,每一節下面再分子章節 比如第四章下面有4.1 4.2 4.3。4.1下面又有4.1.1 4.1.2 4.1....