SQLark V3.5 重磅升级!你的 AI 小百灵来了~

大家好,这里是 DBA 学习之路,专注于提升数据库运维效率。

前言

在数据库工具这个领域,SQLark 的迭代速度真的让我十分佩服,从 2023 年 5 月正式发布以来,几乎每 1-2 个月就会有新版本推出,伴随着用户群体的壮大,功能版图也在持续扩展,如今已然成为一款相当成熟的产品。

作为一名从发布就开始接触 SQLark 的用户,我见证了它从最初,一路演进到如今搭载 AI 小百灵的全功能平台。这个过程中最让我感触的是,每当在社区提出一些使用建议:

image.png

数据生成功能

寻求 AI 功能

往往在后续版本中就能看到相应的改进 – 这种用户声音被认真倾听和采纳的体验,在当下并不多见

SQLark V3.5 新版亮点

这次 6 月份推出的 V3.5 版本,最引人关注的当属 AI 小百灵助手的正式上线。通过集成 Qwen3 与 DeepSeek 两大模型,实现了从代码生成、报错分析到 SQL 优化,再到达梦专家知识检索的全链路智能化覆盖。

👉 体验 SQLark V3.5 版本最新功能,欢迎在官网 www.sqlark.com 下载全功能免费版。

在数据库支持方面,PostgreSQL 的功能完善度有了显著提升,新增的数据导入、数据生成、ER 图等功能让整个工作流更加完整。值得一提的是,Linux ARM 架构版本的推出,也体现了对不同硬件平台用户需求的考量。

从细节上看,SQL 编辑器、表设计器、数据处理等核心模块的优化多达 90 项,这种对用户体验的精雕细琢,往往比大功能的添加更能体现产品的用心程度。

当前 V3.5 版本的数据库兼容性覆盖:

  • 达梦 DM 7.0 及以上版本
  • Oracle 11g 及以上版本
  • MySQL 5.7、8.0
  • PostgreSQL 12、13、14、15、16

多的不说了,大家可以移步 百灵 x 通义Qwen3,AI 助手正式上线! 官方发布文章细看!

AI 小百灵测评

更新到最新版之后,赶忙试了下新的 AI 小百灵功能:

image.png

代码解释

我理解的代码解释应该是帮助我来快速读懂一段复杂的 SQL,我用 DeepSeek 生成了一段包含多表连接、子查询、窗口函数、条件聚合等复杂逻辑的 SQL 示例,看看小百灵的反馈如何:

WITH ranked_products AS (
  SELECT
    c.country,
    cat.category_name,
    p.product_name,
    SUM(od.quantity * od.unit_price) AS total_sales,
    ROUND(
      100.0 * SUM(od.quantity * od.unit_price) 
      / SUM(SUM(od.quantity * od.unit_price)) OVER (PARTITION BY c.country, cat.category_id),
      2
    ) AS sales_percentage,
    RANK() OVER (
      PARTITION BY c.country, cat.category_id
      ORDER BY SUM(od.quantity * od.unit_price) DESC
    ) AS sales_rank
  FROM orders o
  JOIN order_details od ON o.order_id = od.order_id
  JOIN products p ON od.product_id = p.product_id
  JOIN categories cat ON p.category_id = cat.category_id
  JOIN customers c ON o.customer_id = c.customer_id
  WHERE o.order_date BETWEEN '2023-01-01' AND '2023-12-31'
    AND c.country IN ('USA', 'UK', 'Germany')
  GROUP BY c.country, cat.category_id, cat.category_name, p.product_name
),
category_stats AS (
  SELECT
    country,
    category_name,
    SUM(total_sales) AS category_total,
    COUNT(DISTINCT CASE WHEN sales_rank <= 3 THEN product_name END) AS top_products_count
  FROM ranked_products
  GROUP BY country, category_name
  HAVING SUM(total_sales) > 50000
)
SELECT 
  rp.country,
  rp.category_name,
  rp.product_name,
  rp.total_sales,
  rp.sales_percentage,
  cs.category_total,
  CASE 
    WHEN rp.sales_rank <= 3 THEN 'Top 3'
    ELSE 'Other'
  END AS performance_flag,
  LAG(rp.total_sales, 1) OVER (
    PARTITION BY rp.country, rp.category_name 
    ORDER BY rp.sales_rank
  ) AS prev_product_sales
FROM ranked_products rp
JOIN category_stats cs
  ON rp.country = cs.country 
  AND rp.category_name = cs.category_name
WHERE rp.sales_rank <= 5
ORDER BY 
  rp.country, 
  cs.category_total DESC, 
  rp.sales_rank;

解释一下这段 SQL 代码:

image.png

image.png

image.png

结果有点让我眼前一亮,还与 SQLark 有一定的联动,接着我打算让小百灵帮我根据这个 SQL 生成对应的表结构,然后用 SQLark 的数据生成功能填充数据,验证一下这个 SQL 是否可以正常执行。

代码生成

根据 SQL 生成必须的表结构并且能够支持 SQL 运行:

image.png

让我来看看结果如何:

image.png

image.png

没想到小百灵不仅提供了表结构,还创建了几个索引进行优化。

连接我的达梦测试库测试一下:

image.png

首先创建一下表空间和用户:

image.png

image.png

连接新建用户 lucifer,测试是否能建表:

image.png

image.png

根据小百灵提示授予 RESOURCE 权限即可:

image.png

再次测试建表:

image.png

创建成功,继续创建测试表的表结构:

-- 创建 customers 表
CREATE TABLE customers (
    customer_id INT PRIMARY KEY,
    country VARCHAR(100)
);

-- 创建 orders 表
CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    customer_id INT,
    order_date DATE,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);

-- 创建 order_details 表
CREATE TABLE order_details (
    order_detail_id INT PRIMARY KEY,
    order_id INT,
    product_id INT,
    quantity INT,
    unit_price DECIMAL(10, 2),
    FOREIGN KEY (order_id) REFERENCES orders(order_id)
);

-- 创建 products 表
CREATE TABLE products (
    product_id INT PRIMARY KEY,
    product_name VARCHAR(255),
    category_id INT
);

-- 创建 categories 表
CREATE TABLE categories (
    category_id INT PRIMARY KEY,
    category_name VARCHAR(255)
);

-- 添加索引以提高查询性能(可选)
CREATE INDEX idx_orders_customer_id ON orders(customer_id);
CREATE INDEX idx_order_details_order_id ON order_details(order_id);
CREATE INDEX idx_order_details_product_id ON order_details(product_id);
CREATE INDEX idx_products_category_id ON products(category_id);

创建成功:

image.png

使用数据生成功能填充表数据:

image.png

经过之前版本迭代,目前数据生成功能十分好用:

1、这里需要注意检查一下测试 SQL 的查询条件,有没有一些特殊的值,比如日期范围,字符要求,根据实际情况生成数据,才能查到数据库。
2、如果有外键关系的表,要根据外键关系后生成数据,否则容易外键列为空。

image.png

image.png

image.png

image.png

image.png

image.png

分分钟就生成测试数据了,点赞!

接着,自然就是测试一下 SQL 能否正常运行了:

image.png

SQL 可以正常执行并且返回结果,执行时间为:33.037(毫秒)

image.png

接着看看小百灵的优化能力如何,让小百灵优化一下这条 SQL。

优化 SQL

只需要在 SQLark 中选择需要优化的 SQL,右键问 AI 即可:

image.png

image.png

image.png

使用优化后的 SQL 执行:
image.png

时间减少到 25.903(毫秒)

达梦知识检索

最后再测一下达梦知识检索功能,我尝试问了一个比较简单常用的问题:

帮我写一个一键开启达梦归档的脚本命令。

看看小百灵的回答如何:

image.png

image.png

生成的脚本如下:

#!/bin/bash

# 数据库配置文件路径
DM_INI="/dmdata/DAMENG/dm.ini"
# 归档配置文件路径
DM_ARCH_INI="/dmdata/DAMENG/dmarch.ini"

# 修改dm.ini文件,开启归档
sed -i "s/ARCH_INI = 0/ARCH_INI = 1/g" $DM_INI

# 如果dmarch.ini文件不存在,则创建并配置归档参数
if [ ! -f $DM_ARCH_INI ]; then
    cat <<EOF > $DM_ARCH_INI
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400
EOF
fi

# 重启数据库以应用配置
systemctl restart DmServiceDMSERVER

测试一下这个脚本,找一套没有开启归档的达梦数据库:

image.png

根据实际的环境修改一下脚本中的相关信息,比如文件路径,数据库服务名称等:

这里还有个问题,脚本需要在 dmdba 中运行,所以重启数据库服务需要用 DmServiceDAMENG restart 命令,需要优化一下。

image.png

执行一键配置脚本:

image.png

查看归档是否开启:

image.png

没有生效,经过检查发现是 sed 命令没有替换成功,没有处理 = 号前面的空格问题导致:

image.png

优化 sed 命令:

sed -i 's/\(\<ARCH_INI\>[[:space:]]*=[[:space:]]*\)0/\11/g' "$DM_INI"

image.png

优化后重新执行:

image.png

再次检查归档启用情况:

image.png

可以看到归档已经一键开启成功。总的来说,生成的内容正确率能达到 90% 以上,细节还需要打磨,听说这个月还会上满血版,不知道在细节方面会不会进一步优化。

写在最后

经过一系列全面而深入的测试,我基本对 AI 小百灵的各项功能都体验了一把,总体来说还是很不错的,AI 小百灵已经可以满足大多数日常使用需求。虽然在某些方面还存在改进空间,但已经达到了一个令人满意的水平。

相信在未来,AI 小百灵还会推出更多令人惊喜的功能和更加智能的交互体验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lucifer三思而后行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值