Mysql 第十日 字符集,XA事務,查詢快取

2021-09-23 21:35:35 字數 1073 閱讀 3776

客戶端和伺服器設定要要保持一致。

校對規則主要是mysql用來比較字串,比如按照大小寫敏感,或者是二進位制。 分別對應了cs,ci(不敏感),bin三個對應項

可以指定校對規則對欄位排序,但是這樣可能會不使用原來的索引。

xa事務需要乙個事務協調器來保證所有的事務參與者都完成了準備工作(第一階段)。 都準備好,則提交所有事務(第二階段). mysql不能扮演這個協調者,只能是參與節點。

平衡多個儲存引擎, 以及儲存引擎和寫二進位制日誌之間。

如果開啟了寫二進位制日誌那麼對應的還有這部分xa的消耗。可以使用innodb_support_ca設定為0,但是這樣又回導致複製不可用。 複製需要二進位制日誌和xa實物的支援。

也就是一種分布式同步資料的方法。 因為網路延遲,一人等待變成多人等待等等開銷。分布式xa的代價表達。 可以使用別的方式來實現這種同步,比如本地寫入資料,並且放入佇列,更小的進行增量同步,或者使用mysql本身的複製機制。

可以快取執行計畫,省去解析和生成執行計畫的過程

可以快取資料,只有sql完全匹配才會命中快取

只要相關的表發生了變化,快取即刻失效

快取很多時候會成為資源競爭點,所以都是關閉狀態的,也可以設定的比較小。

直接使用客戶端傳送過來的引數做hash,然後從引用表中查,如何的不同,包括空格等等都會無法命中。

包含不確定因素的函式,比如now(),這種是不會把結果放入快取的。

快取可能帶來查詢的提公升,但是因為在查詢前先查快取,查詢後插入快取,這樣會是的一些操作的效能下降,並且因為對於快取的操作都是加鎖排他的使得效率更低。

特別是當事務中需改了某個表,這是會設定為該錶部分的快取失效,這個時候如果有該錶的查詢操作則會等待,這有可能會造成短暫僵死。

按照剛才說的,貌似用快取有很多的***。為了讓其發揮更好的作用,需要一些原則和技巧。

使用 sql_cache能夠使用快取, 使用sql_no_cache 強制不用快取。

一般對複雜查詢,但是返回資訊很少的這種資料用快取比較合適。

再有乙個評價快取好壞的是快取命中率

一些配置項:

mysql快取替代方案, 可以使用系統內部的快取而不使用mysql的快取。

mysql 集群字符集 Mysql 字符集

字符集與字元比較 字符集字符集是某種字元的集合,比如最常見的ascii碼,由127個字元組成,只需要乙個位元組就能表示 我們常說的字符集還是gbk iso utf8 mysql 我們使用得最多的字符集就是gbk 和 utf8了 他們都是變長字符集,如果字元在ascii範圍內就使用乙個位元組表示,其他...

mysql字符集 MySQL字符集選擇

一 怎樣選擇合適的字符集 對mysql資料庫來說,字符集很重要,因為資料庫儲存的資料大部分都是各種文字,字符集對資料庫的儲存,處理效能都會有所影響。主要考慮一下幾方面的因素 1.滿足應用支援語言的需求,應用處理各種各樣的文字,發布到使用不同語言的國家或地區,可以選擇unicode字符集,mysql的...

mysql api 字符集 MySQL字符集

mysql字符集包括字符集 character 和 collation 兩個概念。字符集是用來定義mysql儲存字串的規則,校對規則則是定義了比較字串的方式。字串和校對規則是一對多的 關係。使用命令 show collation like gbk 可檢視相關的校對規則 使用 show charact...