Mysql第十日字符集,XA事務,查詢快取
字符集和校對
客戶端和伺服器設定要要保持一致。
校對規則主要是mysql用來比較字串,比如按照大小寫敏感,或者是二進位制。 分別對應了cs,ci(不敏感),bin三個對應項
可以指定校對規則對欄位排序,但是這樣可能會不使用原來的索引。
分散式事務
XA事務需要一個事務協調器來保證所有的事務參與者都完成了準備工作(第一階段)。 都準備好,則提交所有事務(第二階段). Mysql不能扮演這個協調者,只能是參與節點。
內部XA
平衡多個儲存引擎, 以及儲存引擎和寫二進位制日誌之間。
如果開啟了寫二進位制日誌那麼對應的還有這部分XA的消耗。可以使用innodb_support_ca設定為0,但是這樣又回導致複製不可用。 複製需要二進位制日誌和XA實物的支援。
外部XA
也就是一種分散式同步資料的方法。 因為網路延遲,一人等待變成多人等待等等開銷。分散式XA的代價表達。 可以使用別的方式來實現這種同步,比如本地寫入資料,並且放入佇列,更小的進行增量同步,或者使用Mysql本身的複製機制。
查詢快取
可以快取執行計劃,省去解析和生成執行計劃的過程
可以快取資料,只有sql完全匹配才會命中快取
只要相關的表發生了變化,快取即刻失效
快取很多時候會成為資源競爭點,所以都是關閉狀態的,也可以設定的比較小。
Mysql 如何判斷快取命中
直接使用客戶端傳送過來的引數做hash,然後從引用表中查,如何的不同,包括空格等等都會無法命中。
包含不確定因素的函式,比如now(),這種是不會把結果放入快取的。
快取可能帶來查詢的提升,但是因為在查詢前先查快取,查詢後插入快取,這樣會是的一些操作的效能下降,並且因為對於快取的操作都是加鎖排他的使得效率更低。
特別是當事務中需改了某個表,這是會設定為該表部分的快取失效,這個時候如果有該表的查詢操作則會等待,這有可能會造成短暫僵死。
讓快取發揮最大作用
按照剛才說的,貌似用快取有很多的副作用。為了讓其發揮更好的作用,需要一些原則和技巧。
使用 SQL_CACHE能夠使用快取, 使用SQL_NO_CACHE 強制不用快取。
一般對複雜查詢,但是返回資訊很少的這種資料用快取比較合適。
再有一個評價快取好壞的是快取命中率
一些配置項:
- query_cache_type OFF,ON,DEMAND(只有明確寫SQL_CACHE的語句才會放入查詢快取)
- query_cache_size 總記憶體空間
- query_cache_limit 能快取的最大查詢結果。
Mysql快取替代方案, 可以使用系統內部的快取而不使用Mysql的快取。
相關文章
- mySQL多表查詢與事務MySql
- mysql查詢快取簡單使用MySql快取
- mysql的查詢快取說明MySql快取
- Mysql 查詢快取 query_cacheMySql快取
- MySQL查詢快取引數詳解MySql快取
- 微服務複雜查詢之快取策略微服務快取
- 方法快取與查詢快取
- MySQL 中基於 XA 實現的分散式事務MySql分散式
- MySQL加速查詢速度的獨門武器:查詢快取(QueryCache)MySql快取
- Mysql資料庫之多表查詢、事務、DCLMySql資料庫
- nodejs 連線 mysql 查詢事務處理NodeJSMySql
- MySQL 4.1.0 中文參考手冊 --- 6.9 MySQL 查詢快取 (轉)MySql快取
- MySQL的查詢快取功能何時該開啟MySql快取
- mysql 查詢日誌MySql
- mysql查詢日誌MySql
- MySQL 事務日誌MySql
- Oracle 查詢事務數Oracle
- redis 快取 singlefly 查詢Redis快取
- 關於XA分散式事務(weblogic中的XA概念)分散式Web
- weblogic XA 事務配置問題Web
- MySQL資料庫分散式事務XA的實現原理分析MySql資料庫分散式
- MySQL:慢查詢日誌MySql
- MySQL 通用查詢日誌MySql
- mysql慢查詢日誌MySql
- ## 【分散式事務】面試官問我:MySQL中的XA事務崩潰瞭如何恢復??分散式面試MySql
- XA式、非XA式Spring分散式事務的實現Spring分散式
- MySQL 慢查詢那點事MySql
- mysql 日誌之慢查詢日誌MySql
- MySQL查詢擷取分析MySql
- mysql之 日誌體系(錯誤日誌、查詢日誌、二進位制日誌、事務日誌、中繼日誌)MySql中繼
- hibernate的查詢快取薦快取
- MySQL-14.MySQL事務日誌MySql
- 隨筆:MySQL 查詢事務狀態欄位說明MySql
- Mysql系列第十五講 事務詳解MySql
- mysql 日誌之普通查詢日誌MySql
- 關於MySQL 通用查詢日誌和慢查詢日誌分析MySql
- MySQL 查詢大表注意事項MySql
- Mysql大表查詢注意事項MySql