最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL9.0新特性向量存儲(chǔ)的使用

 更新時(shí)間:2024年08月01日 11:34:05   作者:不剪發(fā)的Tony老師  
MySQL 9.0 正式版已經(jīng)發(fā)布,其中一個(gè)亮點(diǎn)就是向量(VECTOR)數(shù)據(jù)類型的支持,本文主要介紹了MySQL9.0新特性向量存儲(chǔ)的使用,感興趣的可以了解一下

MySQL 9.0 正式版已經(jīng)發(fā)布,其中一個(gè)亮點(diǎn)就是向量(VECTOR)數(shù)據(jù)類型的支持,本文給大家詳細(xì)介紹一下這個(gè)新功能。

向量類型

MySQL 9.0 增加了一個(gè)新的向量數(shù)據(jù)類型:VECTOR。它是一種可以存儲(chǔ) N 個(gè)數(shù)據(jù)項(xiàng)的數(shù)據(jù)結(jié)構(gòu)(數(shù)組),定義方式如下:

VECTOR(N)

其中,每個(gè)數(shù)據(jù)項(xiàng)都是一個(gè) 4 字節(jié)的單精度浮點(diǎn)數(shù)。默認(rèn)的數(shù)據(jù)項(xiàng)為 2048 個(gè),最大值為 16383。

向量類型的數(shù)據(jù)可以使用二進(jìn)制字符串或者列表分隔的字符串表示,例如:

CREATE TABLE t(id int, rgb vector(3));

INSERT INTO t VALUES (1, to_vector('[255,255,255]'));
INSERT INTO t VALUES (2, to_vector('[128,255,0]'));
INSERT INTO t VALUES (3, to_vector('[0,65,225]'));

向量函數(shù)

MySQL 9.0 同時(shí)還增加了一些用于操作 VECTOR 數(shù)據(jù)的向量函數(shù)。

首先,STRING_TO_VECTOR 函數(shù)用于將字符串形式的向量數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制,例如:

SELECT HEX(STRING_TO_VECTOR("[1.05, -17.8, 32]"));

HEX(STRING_TO_VECTOR("[1.05, -17.8, 32]"))|
------------------------------------------+
6666863F66668EC100000042                  |

STRING_TO_VECTOR 函數(shù)的參數(shù)是一個(gè)字符串,包含一組由逗號(hào)分隔的浮點(diǎn)數(shù),并且使用方括號(hào)([])進(jìn)行引用。

TO_VECTOR 函數(shù)是 STRING_TO_VECTOR 函數(shù)的同義詞。

其次,VECTOR_TO_STRING 函數(shù)用于將向量數(shù)據(jù)轉(zhuǎn)換為字符串,例如:

SELECT VECTOR_TO_STRING(STRING_TO_VECTOR("[1.05, -17.8, 32]"));

VECTOR_TO_STRING(STRING_TO_VECTOR("[1.05, -17.8, 32]"))|
-------------------------------------------------------+
[1.05000e+00,-1.78000e+01,3.20000e+01]                 |

SELECT VECTOR_TO_STRING(0x00000040000040400000A0400000E040);

VECTOR_TO_STRING(0x00000040000040400000A0400000E040)|
----------------------------------------------------+
[2.00000e+00,3.00000e+00,5.00000e+00,7.00000e+00]   |

輸出結(jié)果中的浮點(diǎn)數(shù)使用科學(xué)計(jì)數(shù)法表示。

FROM_VECTOR 函數(shù)是 VECTOR_TO_STRING 函數(shù)的同義詞。

最后,VECTOR_DIM 函數(shù)用于返回向量數(shù)據(jù)的維度,也就是數(shù)據(jù)項(xiàng)的個(gè)數(shù)。例如:

SELECT VECTOR_DIM(rgb) FROM t;

VECTOR_DIM(rgb)|
---------------+
              3|
              3|
              3|

使用限制

VECTOR 數(shù)據(jù)類型存在以下限制:

  • VECTOR 數(shù)據(jù)不能和其他類型的數(shù)據(jù)進(jìn)行比較,VECTOR 數(shù)據(jù)只能和其他 VECTOR 數(shù)據(jù)進(jìn)行等值比較。
  • VECTOR 類型的字段不能作為任何類型的鍵值,包括主鍵、外鍵、唯一鍵以及分區(qū)鍵。
  • VECTOR 類型的字段不能作為直方圖的統(tǒng)計(jì)源。
  • 一些 MySQL 字符串函數(shù)可以使用 VECTOR 數(shù)據(jù)作為參數(shù),包括 BIT_LENGTH()、CHAR_LENGTH()、HEX()、LENGTH() 以及 TO_BASE64()。其他字符串函數(shù)不支持 VECTOR 類型的參數(shù)。
  • VECTOR 數(shù)據(jù)可以作為以下加密函數(shù)的參數(shù):AES_ENCRYPT()、COMPRESS()、MD5()、SHA1()、SHA2()。其他加密函數(shù)不支持 VECTOR 類型的參數(shù)。
  • VECTOR 數(shù)據(jù)可以作為 CASE 運(yùn)算符和 COALESCE()、IFNULL()、NULLIF() 以及 IF() 函數(shù)的參數(shù)。
  • VECTOR 數(shù)據(jù)可以作為 CAST(expression AS BINARY) 的參數(shù),結(jié)果返回 VECTOR 數(shù)據(jù)的二進(jìn)制字符串。CAST 函數(shù)不支持將數(shù)據(jù)轉(zhuǎn)換為 VECTOR 類型,推薦使用 STRING_TO_VECTOR 函數(shù)。
  • 除了COUNT 函數(shù)之外,VECTOR 數(shù)據(jù)類型不能作為其他聚合函數(shù)或者窗口函數(shù)的參數(shù)。
  • VECTOR 數(shù)據(jù)不能作為以下函數(shù)或運(yùn)算符的參數(shù):數(shù)字函數(shù)和運(yùn)算符、時(shí)間函數(shù)、全文檢索函數(shù)、XML 函數(shù)、位操作函數(shù)以及 JSON 函數(shù)。

總結(jié)

首先,對(duì)于向量數(shù)據(jù)的支持是一個(gè)重大的改進(jìn),可以為 MySQL 增加向量存儲(chǔ)功能。

不過,目前 MySQL 9.0 只有簡單的 VECTOR 數(shù)據(jù)類型和轉(zhuǎn)換函數(shù),還沒有提供向量相似度(余弦相似性、歐氏距離、內(nèi)積相似性等)檢索功能,以及優(yōu)化查詢性能的向量索引,距離一個(gè)實(shí)用的向量數(shù)據(jù)庫還有一些差距。

到此這篇關(guān)于MySQL9.0新特性向量存儲(chǔ)的使用的文章就介紹到這了,更多相關(guān)MySQL 9.0 向量存儲(chǔ)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 從底層簡析Python程序的執(zhí)行過程

    從底層簡析Python程序的執(zhí)行過程

    這篇文章主要介紹了從底層簡析Python程序的執(zhí)行過程,包括注入操作碼和封裝程序等解釋器執(zhí)行層面的知識(shí),需要的朋友可以參考下
    2015-06-06
  • 給Mysql添加遠(yuǎn)程訪問權(quán)限的方法

    給Mysql添加遠(yuǎn)程訪問權(quán)限的方法

    這篇文章主要介紹了給Mysql添加遠(yuǎn)程訪問權(quán)限的方法的相關(guān)資料,需要的朋友可以參考下
    2015-03-03
  • InnoDB實(shí)現(xiàn)序列化隔離級(jí)別的方法

    InnoDB實(shí)現(xiàn)序列化隔離級(jí)別的方法

    這篇文章主要介紹了InnoDB實(shí)現(xiàn)序列化隔離級(jí)別的方法,文中介紹的非常詳細(xì),相信對(duì)大家學(xué)習(xí)或者使用InnoDB具有一定的參考價(jià)值,需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。
    2017-04-04
  • mysql 5.7.17 安裝配置方法圖文教程(windows10)

    mysql 5.7.17 安裝配置方法圖文教程(windows10)

    這篇文章主要為大家分享了mysql 5.7.17 安裝配置方法圖文教程,具有一定的參考價(jià)值,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Mysql之DELETE操作對(duì)應(yīng)的undo日志方式

    Mysql之DELETE操作對(duì)應(yīng)的undo日志方式

    InnoDB通過正常記錄鏈表和垃圾鏈表管理數(shù)據(jù)頁,刪除記錄先標(biāo)記為deletemark,后由purge線程移入垃圾鏈表回收空間,PAGE_FREE指向垃圾鏈表頭,PAGE_GARBAGE記錄可重用空間大小,Undo日志保存trx_id和roll_pointer,用于版本控制和回滾
    2025-08-08
  • K8s中MySQL?數(shù)據(jù)持久化存儲(chǔ)的實(shí)現(xiàn)

    K8s中MySQL?數(shù)據(jù)持久化存儲(chǔ)的實(shí)現(xiàn)

    本文主要介紹了K8s中MySQL?數(shù)據(jù)持久化存儲(chǔ)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 一文掌握MySQL基本查詢操作

    一文掌握MySQL基本查詢操作

    文章介紹了MySQL數(shù)據(jù)庫中表的增刪改查操作,包括Create(創(chuàng)建)、Retrieve(讀?。pdate(更新)和Delete(刪除),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • 在Mysql上創(chuàng)建數(shù)據(jù)表實(shí)例代碼

    在Mysql上創(chuàng)建數(shù)據(jù)表實(shí)例代碼

    這篇文章主要介紹了如何在Mysql上創(chuàng)建數(shù)據(jù)表,需要的朋友可以參考下
    2014-03-03
  • Mac下mysql 5.7.13 安裝配置方法圖文教程

    Mac下mysql 5.7.13 安裝配置方法圖文教程

    這篇文章主要介紹了Mac下mysql 5.7.13 安裝配置方法圖文教程,內(nèi)容很詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 關(guān)于mysql delete的問題小結(jié)

    關(guān)于mysql delete的問題小結(jié)

    關(guān)于mysql delete的問題,需要的朋友可以參考下。
    2011-05-05

最新評(píng)論

焉耆| 中宁县| 西林县| 大渡口区| 东乌珠穆沁旗| 大姚县| 大城县| 屯门区| 泗洪县| 霍邱县| 桐乡市| 苍山县| 新晃| 汉沽区| 手游| 旬邑县| 英超| 罗平县| 凭祥市| 玉树县| 邯郸县| 阿勒泰市| 乐清市| 玛多县| 石城县| 东明县| 郎溪县| 西藏| 保德县| 白玉县| 浑源县| 三亚市| 驻马店市| 菏泽市| 洛南县| 上杭县| 台安县| 光山县| 开封市| 洛南县| 邵武市|