MySQL 5.7 新特性详解
我們自豪的宣布 MySQL 5.7 穩(wěn)定版開放下載了。?MySQL 5.7.9 是目前世界上最流行開源數(shù)據(jù)庫的一令人興奮的新版本,?比 MySQL 5.6 快 3 倍,同時還提高了可用性,可管理性和安全性。一些重要的增強功能如下:?
?
上述只是一些亮點,我鼓勵你們深入了解。可以通過一系列的里程碑博客5.7.1,5.7.2,5.7.3,5.7.4,5.7.5,5.7.6,5.7.7,5.7.8?—甚至通過記錄他們的技術規(guī)范和實施細則的個人?worklogs?,或許你只是想在?github.com/mysql?上看一下代碼。我們已經(jīng)實施了 365 ?個worklogs,添加了 1007 個 MTR 測試,并且修復了?28125.7 個具體的 bug。勢不可擋的感覺,所以這個“小的”指導可能是有用的。
非常感謝開發(fā)團隊的每一個成員,是你們成就了這些!我說開發(fā)是指所有人,包括:需求,設計,編碼,審核,測試,bug 修復,文檔,發(fā)布和實驗支持,真的是一個團隊的努力。非常感謝開源社區(qū)的每一個人,感謝你們反饋 bug,建議和貢獻!一個世界的努力。
?
為 MySQL 添加 JSON 支持
使用 MySQL 的最新的 JSON 功能,你可以結合 NoSQL 的靈活和關系數(shù)據(jù)庫的力量。
我們開發(fā)了一個 JSON 數(shù)據(jù)類型和一個二進制存儲格式 ,使用服務器可以高效存儲,檢索和查找 JSON 數(shù)據(jù)(WL#8132) 。
這項工作改進了?CREATE TABLE?和?ALTER TABLE?,所以你可以創(chuàng)建 JSON 類型的數(shù)據(jù)列,并且它擴展了 Field 類,允許對 JSON 類型數(shù)據(jù)進行 INSERT和SELECT 操作。
我們已經(jīng)引入了一系列服務端功能,內置的 JSON 函數(shù)(WL#7909),這項工作可以讓用戶,從其他關系數(shù)據(jù)構建 JSON 數(shù)據(jù),從 JSON 數(shù)據(jù)中抽取關系數(shù)據(jù), 感知 JSON 數(shù)據(jù)值和文本(效度,長度,深度,鍵)的結構,對JSON?數(shù)據(jù)進行檢索和操作。
我們已經(jīng)介紹了 JSON 比較器 ,類似于 DATE/TIME/DATETIME(日期/時間/日期時間)比較器,它允許 JSON 常量和 SQL 常量比較、JSON 變量和 SQL 變量比較(WL#8249)。比較器依賴在?WL#7909?添加的 DOM 元素的支持。比較器將 SQL 常量轉換為為 JSON 變量然后比較他們的值。
?
我們已經(jīng)實現(xiàn)了 JSON 變量值排序(WL#8539),即一個函數(shù)產(chǎn)生內部方法 filesort 所需的用老排序 JSON 值的排序鍵。當排序 JSON 變量時用 ORDER BY,它將會返回 JSON 比較器?WL#8249?定義的排序規(guī)則所排序的結果。
?
我們已經(jīng)為生成的列(WL#8170)實現(xiàn)了一個表達式分析器。這樣做可以讓我們的排序和參考優(yōu)化器有機會使用已經(jīng)為生成的列定義的索引。關于這個功能的一個案例是在 JSON 文檔上產(chǎn)生和自動使用索引。
我們已經(jīng)在 SQL 查詢(WL#8607)中加上了內聯(lián) JSON 路徑表達式。MySQL?現(xiàn)在這樣執(zhí)行查詢:SELECT … FROM t1 WHERE t1.json_field->”$.path.to[0].key”= 123;
生成的列&可生成索引的虛擬化列
我們第一次實現(xiàn)生成的列(WL#411,?WL#8114)。每列的值,不像一個有規(guī)律的字段的值,沒有通過用戶設置而是當行創(chuàng)建或者更新時通過服務器使用用戶定義表時定義的特殊的表達式計算。生成的列也可以被物化(被存儲)或者非物化(虛擬)。關于這方面的內容可以看看 Evgeny Potemkin 的文章“在MySQL 5.7.5中的生成列“。
總結
以上是生活随笔為你收集整理的MySQL 5.7 新特性详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如果突然遇到下雨,不得不及时收摊,如何向
- 下一篇: 炸油饼的家常做法?