執行計劃,SQL陳述句過來,會先決議,詞法決議,語法決議,之后生成執行計劃,計劃上會算出使用全盤掃秒還是依靠索引,
mysql不緩沖執行計劃,oracle有
體系結構
1、優化器---》執行計劃
2、MySQL不快取執行計劃(硬決議:用cpu來決議;軟決議:采用執行計劃來決議)
3、MySQL8.0以后,query cache就被去掉了(如果資料發生更改,就需要所有資料都重繪一下,query cache就得全重繪一下,所以把他在8.0去掉了)
4、MySQL資料庫存盤引擎Innodb以聚簇索引方式存盤為聚簇表,不要求非空且唯一列,
5、Innodb buffer pool以LRU鏈表方式存盤資料,
6、Innodb buffer pool緩沖資料和索引,
在它中有一個緩沖區域change buffer,他會把同類的資料改變先存放于此處,不去進行即時的更改,而是等這個區域的資料滿了或者收到了讀的操作時候他才會進行資料更改,以此減少了去更改的頻率,提高了性能的利用率,(1、修改的資料為唯一索引列時候,change buffer失效,因為修改唯一索引,需要先去查是否有重復索引,沒有的話菜放進去change buffer,有查的功夫還不如直接放進去,2、change buffer也不適合即改即讀的操作)
唯一索引:修改時候要判斷唯一性!(記憶體相差微乎其微)
普通索引:修改時候不需要讀取記錄! 這個更勝一籌!!!
7、Redo日志不可以歸檔
8、但是Redo可以有自己的commit提交規則,他可以設定inndb_flush_log_at_trx_commit為1,0,2,1為每提交一次就重繪一次盤,0為沒1秒重繪一次,2為每一秒鐘就重繪一次,把資料刷到本地磁盤(可以防止資料庫宕機),
9、每個用戶都會有自己的join,sort,multi,range(MRR),
10、concat、concat_ws、group_concat函式用法和區別:
一:concat()函式可以連接一個或者多個字串
concat(str1,str2,…) 回傳結果為所有連接引數產生的一個字串,如有任何一個引數為NULL ,則回傳值NULL,
示例:select concat('aa','bb','cc');
結果:aabbcc
二:concat_ws(separator,str1,str2,...)
是concat()的特殊形式,第一個引數是其它引數連接的分隔符,分隔符是放在要連接的所有字串之間,分隔符可以是一個字串,也可以是其它引數,
示例:select concat_ws(',','aa','bb','cc');
結果:aa,bb,cc
三:group_concat()分組拼接函式
用法:group_concat([distinct] 連接欄位 [order by asc/desc 排序欄位] [Separator '分隔符'])
對下面的一組資料使用 group_concat()
表如下:
示例一:
示例二:
示例三:
示例四:
11、char_length和length

總結一下就是說,無論是LENGTH()還是CHAR_LENGTH()都是為了統計字串的長度,只不過,LENGTH()是按照位元組來統計的,CHAR_LENGTH()是按照字符來統計的,例如:一個包含5個字符且每個字符占兩個位元組的字串而言,LENGTH()回傳長度10,CHAR_LENGTH()回傳長度是5;如果對于單位元組的字符,則兩者回傳結果相同,
12、user()和current_user()
user()
表示當前的登錄用戶
current_user()
表示對應于mysql.user表里對應的賬號,
mysql> select user();
+----------------------+
| user() |
+----------------------+
| test@192.168.203.132 |
+----------------------+
1 row in set (0.00 sec)
mysql> select current_user();
+------------------+
| current_user() |
+------------------+
| test@192.168.%.% |
+------------------+
1 row in set (0.00 sec)
user()是用來顯示當前登陸的用戶名與它對應的host;currrent_user()是用來顯示當前登陸用戶對應在user表中的哪一個,
13、獲取當前日期的函式:CURDATE(),DATE為資料型別,
14、mysql存資料和索引的地方*.ibd * 資料修改超過百分之十時候會進行資訊的統計,放在.frm
analyze table test1;查看test1的統計資訊
show index from test1;展示有索引的列
個性簽名:一個人在年輕的時候浪費自己的才華與天賦是一件非常可惜的事情
如果覺得這篇文章對你有小小的幫助的話,記得在左下角點個“👍”哦,博主在此感謝!
萬水千山總是情,打賞5毛買辣條行不行,所以如果你心情還比較高興,也是可以掃碼打賞博主,哈哈哈(っ??ω??)っ???!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/21905.html
標籤:其他
上一篇:變長子網的劃分





