日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

angular select设置默认选中_技术分享 | Charset 和 Collat??ion 设置对 MySQL 性能的影响...

發布時間:2024/10/8 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 angular select设置默认选中_技术分享 | Charset 和 Collat??ion 设置对 MySQL 性能的影响... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原創: 管長龍 譯
作者:Vadim Tkachenko


通過測試,比較 MySQL 5.7.25 和 MySQL 8.0.15 之間字符集和校驗規則的設置所帶來的性能差異。測試環境

  • 系統 | Ubuntu 18.04 LTS (bionic)
  • 內核 | 4.15.0-20-generic
  • 處理器 | physical = 2, cores = 28, virtual = 56, hyperthreading = yes
  • 型號 | 56xIntel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz<
  • 內存 | 376.6G

我將用 sysbench 測試不同數量的線程下 oltp_read_only 和 oltp_point_select 兩種工作負載。

sysbench oltp_read_only --mysql-ssl=off --report-interval=1 --time=300 --threads=$i --tables=10 --table-size=10000000 --mysql-user=root runsysbench oltp_point_select --mysql-ssl=off --report-interval=1 --time=300 --threads=$i --tables=10 --table-size=10000000 --mysql-user=root ru


OLTP_READ_ONLY (latin1 字符集)的結果:


OLTP_POINT_SELECT(latin1 字符集)的結果:


我們可以看到,在 OLTP_READ_ONLY 的工作負載中,MySQL 8.0.15 慢了 10%,而對于 OLTP_POINT_SELECT 的工作負載,MySQL 8.0.15 慢了 12-16%。
雖然差異不一定很大,但這足以說明 MySQL 8.0.15 在這組測試的各種工作負載中,性能不如 MySQL 5.7.25。
但是,如果我們使用 utf8mb4 字符集而不是 latin1,結果的似乎會改變。
因為 utf8mb4 現在是 MySQL 8.0 中的默認字符集,讓我們比較 MySQL 5.7.25 的 latin1 和 utf8mb4。
但在我們這樣做之前,讓我們來看看 COLLATION(校對字符集)。
MySQL 5.7.25 使用默認排序規則 utf8mb4_general_ci,但是,我讀到要對東歐語言使用正確的排序和比較,您可能需要使用 utf8mb4_unicode_ci 排序規則。
所以讓我們比較每個版本 latin1 和 utf8mb4(默認排序規則)。首先是 5.7:


所以在這里我們可以看到 MySQL 5.7 中的 utf8mb4 實際上比 latin1 慢得多(55-60%)
對于 MySQL 8.0.15 也一樣


對于 MySQL 8.0,utf8mb4 的命中率要低得多(高達11%)
現在讓我們比較 utf8mb4 的所有排序規則
對于 MySQL 5.7


如果你打算使用 utf8mb4_unicode_ci,你將獲得更高的性能(與 utf8mb4_general_ci 相比)
對于 MySQL 8.0.15


現在讓我們在 utf8mb4 中使用默認排序規則比較 MySQL 8.0 和 MySQL 5.7:


在這種情況下,MySQL 8.0 實際上比 MySQL 5.7 好34%

結論

  • MySQL 5.7 在 latin1 字符集中勝過 MySQL 8.0
  • 如果我們使用 utf8mb4 字符集,MySQL 8.0 會大幅超越 MySQL 5.7
  • 請注意,MySQL 8.0 現在默認為 utf8mb4 ,而 MySQL 5.7 默認為 latin1
  • 當運行 MySQL 8.0 與 MySQL 5.7 之間的比較時,請注意您正在使用的字符集,因為它可能會影響比較很多。

總結

以上是生活随笔為你收集整理的angular select设置默认选中_技术分享 | Charset 和 Collat??ion 设置对 MySQL 性能的影响...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。