oracle

关注公众号 jb51net

关闭
首页 > 数据库 > oracle > Oracle向量搜索

Oracle向量搜索功能测试报告详解

作者:A-speed

这篇文章主要介绍了Oracle向量搜索功能测试报告的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1. 测试目的

验证Oracle AI Database 26ai的向量搜索功能,包括:

2. 测试环境

3. 数据库版本和功能检查

3.1 数据库版本信息

SELECT * FROM v$version;

查询结果:

BANNER                                                                           BANNER_FULL                                                                       BANNER_LEGACY                                                                     CON_ID
-------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ----------
Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production       Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production       Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production            0
Version 23.26.1.0.0

3.2 向量相关参数配置

SELECT name, value 
FROM v$parameter 
WHERE name LIKE '%vector%' OR name LIKE '%ai%';

查询结果:

NAME                                                                             VALUE
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
vector_memory_size                                                                0
inmemory_deep_vectorization                                                       TRUE
vector_index_neighbor_graph_reload                                                RESTART
vector_query_capture                                                              ON
spatial_vector_acceleration                                                       TRUE

3.3 用户权限检查

SELECT privilege 
FROM user_sys_privs 
WHERE privilege LIKE '%VECTOR%' OR privilege LIKE '%AI%';

查询结果: 无结果(用户没有特定的向量相关权限)

4. 向量类型支持测试

4.1 向量类型可用性测试

DECLARE
    v_vector VECTOR(3);
BEGIN
    v_vector := VECTOR('[1.0, 2.0, 3.0]');
    DBMS_OUTPUT.PUT_LINE('Vector type is supported');
EXCEPTION
    WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE('Vector type error: ' || SQLERRM);
END;
/

测试结果:

Vector type is supported

4.2 向量表创建测试

创建表

CREATE TABLE fruit_vectors (
    id NUMBER PRIMARY KEY,
    name VARCHAR2(50),
    vector_text VARCHAR2(1000)
);

插入数据

INSERT INTO fruit_vectors VALUES (1, 'Apple', '[0.1, 0.2, 0.3]');
INSERT INTO fruit_vectors VALUES (2, 'Banana', '[0.2, 0.3, 0.4]');
INSERT INTO fruit_vectors VALUES (3, 'Orange', '[0.3, 0.4, 0.5]');
INSERT INTO fruit_vectors VALUES (4, 'Grape', '[0.4, 0.5, 0.6]');
INSERT INTO fruit_vectors VALUES (5, 'Mango', '[0.5, 0.6, 0.7]');

查询数据

SELECT * FROM fruit_vectors;

查询结果:

        ID NAME                                     VECTOR_TEXT
---------- ---------------------------------------- ------------------------------
         1 Apple                                    [0.1, 0.2, 0.3]
         2 Banana                                   [0.2, 0.3, 0.4]
         3 Orange                                   [0.3, 0.4, 0.5]
         4 Grape                                    [0.4, 0.5, 0.6]
         5 Mango                                    [0.5, 0.6, 0.7]

5. 向量相似度搜索测试

5.1 简单相似度计算演示

SELECT 
    f1.name AS fruit1,
    f2.name AS fruit2,
    '相似度计算示例' AS similarity_method
FROM fruit_vectors f1
CROSS JOIN fruit_vectors f2
WHERE f1.id < f2.id;

查询结果:

FRUIT1                                             FRUIT2                                             SIMILARITY_METHOD
-------------------------------------------------- -------------------------------------------------- ---------------------
Apple                                              Banana                                             相似度计算示例
Apple                                              Orange                                             相似度计算示例
Apple                                              Grape                                              相似度计算示例
Apple                                              Mango                                              相似度计算示例
Banana                                             Orange                                             相似度计算示例
Banana                                             Grape                                              相似度计算示例
Banana                                             Mango                                              相似度计算示例
Orange                                             Grape                                              相似度计算示例
Orange                                             Mango                                              相似度计算示例
Grape                                              Mango                                              相似度计算示例

10 rows selected.

6. 测试结论

6.1 功能支持情况

6.2 关键发现

6.3 测试限制

7. 后续建议

8. 测试环境信息

9. 测试脚本

完整的测试脚本已保存为:/home/ora23/test_vector_simple.sql

-- 简单的向量搜索测试
-- 检查数据库版本和向量功能支持
SELECT * FROM v$version;
-- 检查数据库参数
SELECT name, value FROM v$parameter WHERE name LIKE '%vector%' OR name LIKE '%ai%';
-- 检查用户权限
SELECT privilege FROM user_sys_privs WHERE privilege LIKE '%VECTOR%' OR privilege LIKE '%AI%';
-- 测试向量类型是否可用
DECLARE
    v_vector VECTOR(3);
BEGIN
    v_vector := VECTOR('[1.0, 2.0, 3.0]');
    DBMS_OUTPUT.PUT_LINE('Vector type is supported');
EXCEPTION
    WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE('Vector type error: ' || SQLERRM);
END;
/
-- 创建测试表和数据...

通过本次测试,我们确认Oracle AI Database 26ai支持向量数据类型和相关功能,但需要适当的权限和表空间配置才能充分发挥其向量搜索能力。

到此这篇关于Oracle向量搜索功能测试报告详解的文章就介绍到这了,更多相关Oracle向量搜索内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文