讓SQL飛起來:搭建企業AI應用的SQL性能優化實戰

我上一篇文章已經講解過了如何使用公開的AI模型來優化SQL.但這個優化方法存在一定的局限性.因為公開的AI模型并不了解你的數據表結構是什么從而導致提供的優化建議不太準確.而sql表結構又是至關重要的安全問題,是不能泄露出去的.所以在此背景下我決定搭建一個自己的AI應用在內網環境下實現SQL優化.

?1:所需軟件?Dify + Ollama+ docker? AI模型:?DeepSeek +?bge-m3

如果之前不了解Dify的話. 強烈建議參考我的另一篇文章安裝所需要的環境https://blog.csdn.net/wang5701071/article/details/146207226?spm=1001.2014.3001.5501

1:為什么要搭建自己的AI應用進行sql優化?

1:準確性

目前主流的AI模型deepseek chatGPT等模型對于復雜sql的優化其實存在一定局限性.比如索引創建后,還是會提示讓你重復創建索引,并不能提高sql性能.?

原因1:有可能是sql的字數太多,導致AI模型無法準確識別優化計劃

原因2: 也有可能是AI不知道具體的表結構,給出的索引建議與已經存在的索引沖突

2:安全性

給AI模型提供表結構會讓AI提供的建議更加準確,但是很多企業內部或者內網辦公環境下,表結構是無法提供給公開的AI的,否則會導致泄密風險.

3:提高效率

定制自己的AI應用可以通過編排AI工作流和提示詞達到一次詢問即可得到想要的答案.避免了公共AI模型的多次詢問才能獲取想要的結果.能提高工作效率.

2:創建自己的SQL表知識庫

2.1:打開navicat數據庫->右鍵需導出數據庫->轉儲SQL文件->僅結構;

打開剛剛導出的.sql文件就會出現這種.這個時候需要批量刪掉文本中存在的 DROP TABLE IF EXISTS . 這句話不刪掉會影響知識庫的識別.然后修改后綴為.txt文本就行了.

這個時候就可以在dify創建自己的sql知識庫了.注意我這里的知識庫AI模型使用的是?bge-m3

其他都保持默認.進行下一步就創建成功了.

出現這些代表自己的SQL知識庫分析完成了.

3:搭建AI應用

3.1:在dify里的探索頁面找到問題分類 + 知識庫 + 聊天機器人?并添加到工作區.

3.2對AI應用進行編排

右擊節點.刪掉不想要的節點,只保留一條AI工作流即可.

這個是我編排后的AI工作流

3.3:節點的詳細設置

開始節點: 增加了一個參數table (可加可不加看個人需求)

3.4 知識檢索節點:?添加剛剛創建好的知識庫

3.5 LLM節點:對deepseek進行提示詞優化

注意: 如果開始節點沒有新增table參數.這個地方的table是沒有的.可以去掉.改成自己想要的提示詞

然后發布AI應用.就可以使用了.

4:當前AI應用工作流介紹

步驟一:開始節點:對AI進行多參數提問。可以直接輸入sql語句,或者explain執行計劃

步驟二:知識庫檢索:知識庫對提問的問題進行檢索,通過關鍵字獲取到表結構和索引數據。

步驟三:將表結構,索引數據 sql語句匯總起來發給deepseek模型。進行分析如何進一步優化

步驟四:數據分析后的結果。

5:優化sql

例如:使用?EXPLAIN ANALYZE +慢SQL語句進行查詢, 然后將獲得的結果復制給AI應用即可.

可以看到,即使剛剛沒有提供sql表結構,但通過知識庫的分析AI依然獲取到了已經存在的索引.提高了回答的準確性.而且全程都是本地部署的AI+知識庫.所以不用擔心數據泄露的問題.能夠放心的進行SQL優化.

到這個地方.你已經學會了如何使用本地搭建AI+SQL知識庫.趕快去試試吧.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/77759.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/77759.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/77759.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

小迪安全-112-yii反序列化鏈,某達oa,某商場,影響分析

yii是和tp一樣的框架 入口文件 web目錄下 相對tp比較簡單一些,對比tp找一下他的url結構 對應的位置結構 這個contorllers文件的actionindex就是觸發的方法 控制器,指向的index文件,就可以去視圖模塊看index文件 這就是前端展示的文件 自…

自定義多頭注意力模型:從代碼實現到訓練優化

引言 在自然語言處理和序列生成任務中,自注意力機制(Self-Attention)是提升模型性能的關鍵技術。本文將通過一個自定義的PyTorch模型實現,展示如何構建一個結合多頭注意力與前饋網絡的序列生成模型(如文本或字符生成)。該模型通過創新的 MaxStateSuper 模塊實現動態特征…

動態LOD策略細節層級控制:根據視角距離動態簡化遠距量子態渲染

動態LOD策略在量子計算可視化中的優化實現 1. 細節層級控制:動態簡化遠距量子態渲染 在量子計算的可視化中,量子態通常表現為高維數據(如布洛赫球面或多量子比特糾纏態)。動態LOD(Level of Detail)策略通過以下方式優化渲染性能: 距離驅動的幾何簡化: 遠距離渲染:當…

Java 泛型使用教程

簡介 Java 泛型是 JDK 5 引入的一項特性,它提供了編譯時類型安全檢測機制,允許在編譯時檢測出非法的類型。泛型的本質是參數化類型,也就是說所操作的數據類型被指定為一個參數。 泛型的好處: 編譯期檢查類型安全 避免強制類型轉…

Leetcode - 周賽446

目錄 一、3522. 執行指令后的得分二、3523. 非遞減數組的最大長度三、3524. 求出數組的 X 值 I四、3525. 求出數組的 X 值 II 一、3522. 執行指令后的得分 題目鏈接 本題就是一道模擬題,代碼如下: class Solution {public long calculateScore(String…

【更新完畢】2025泰迪杯數據挖掘競賽A題數學建模思路代碼文章教學:競賽論文初步篩選系統

完整內容請看文末最后的推廣群 基于自然語言處理的競賽論文初步篩選系統 基于多模態分析的競賽論文自動篩選與重復檢測模型 摘要 隨著大學生競賽規模的不斷擴大,參賽論文的數量激增,傳統的人工篩選方法面臨著工作量大、效率低且容易出錯的問題。因此&…

計算機視覺與深度學習 | RNN原理,公式,代碼,應用

RNN(循環神經網絡)詳解 一、原理 RNN(Recurrent Neural Network)是一種處理序列數據的神經網絡,其核心思想是通過循環連接(隱藏狀態)捕捉序列中的時序信息。每個時間步的隱藏狀態 ( h_t ) 不僅依賴當前輸入 ( x_t ),還依賴前一時間步的隱藏狀態 ( h_{t-1} ),從而實現…

AI速讀:解鎖LLM下Game Agent的奇妙世界

在 AI 浪潮中,大語言模型(LLMs)正重塑游戲智能體格局。想知道基于 LLMs 的游戲智能體如何運作,在各類游戲中有何驚艷表現,未來又將走向何方? 大型語言模型(LLMs)的興起為游戲智能體的…

【每日八股】復習計算機網絡 Day3:TCP 協議的其他相關問題

文章目錄 昨日內容復習TCP 的四次揮手?TCP 為什么要四次揮手?在客戶端處于 FIN_WAIT_2 狀態時,如果此時收到了亂序的來自服務端的 FIN 報文,客戶端會如何處理?何時進入 TIME_WAIT 狀態?TCP 四次揮手丟了怎么…

學習筆記十五——rust柯里化,看不懂 `fn add(x) -> impl Fn(y)` 的同學點進來!

🧠 Rust 柯里化從零講透:看不懂 fn add(x) -> impl Fn(y) 的同學點進來! 🍔 一、什么是柯里化?先用一個超好懂的生活比喻 假設你在點一個漢堡: 你說:我要點一個雞腿漢堡! 店員…

深入理解 TCP 協議 | 流量、擁塞及錯誤控制機制

注:本文為 “TCP 協議” 相關文章合輯。 原文為繁體,注意術語描述差異。 作者在不同的文章中互相引用其不同文章,一并匯總于此。 略作重排,如有內容異常,請看原文。 TCP 三向交握 (Three-way Handshake) 2016-12-21 …

PCL庫編譯指南

PCL(Point Cloud Library)的編譯過程會根據不同操作系統有所差異。以下是詳細的編譯步驟: Linux/Ubuntu系統編譯 1. 安裝依賴項 bash sudo apt-get update sudo apt-get install git build-essential linux-libc-dev sudo apt-get install cmake cmake-gui sud…

【Linux】條件變量、基于阻塞隊列的生產者消費者模型

📚 博主的專欄 🐧 Linux | 🖥? C | 📊 數據結構 | 💡C 算法 | 🌐 C 語言 進程是資源分配的基本單位,線程是調度的基本單位,線程是在進程內部運行的(是進程內部…

32-工藝品商城小程序

技術: 基于 B/S 架構 SpringBootMySQLvueelementuiuniapp 環境: Idea mysql maven jdk1.8 node 可修改為其他類型商城 用戶端功能 1.系統首頁展示輪播圖及工藝品列表 2.分類模塊:展示產品的分類類型 3.購物車:進行商品多選結算 或者批量管理操作 4.…

SLAM | 激光SLAM中的退化問題

在激光SLAM中,判斷退化環境的核心是通過數學建模分析環境特征對位姿估計的約束能力。除了LOAM中提出的退化因子D外,還存在多種基于表達式和閾值設定的方法。以下是幾種典型方法及其實現原理: 1. 協方差矩陣特征值分析 原理:通過分析點云協方差矩陣的特征值分布,判斷環境中…

【2025最新版】火鳥門戶v8.5系統源碼+PC、H5、小程序 +數據化大屏插件

一.介紹 火鳥地方門戶系統V8.5源碼 系統包含4端: PCH5小程序APP 二.搭建環境 系統環境:CentOS、 運行環境:寶塔 Linux 網站環境:Nginx 1.2.22 MySQL 5.6 PHP-7.4 常見插件:fileinfo ; redis 三.測…

PHP騰訊云人臉核身獲取NONCE ticket

參考騰訊云官方文檔: 人臉核身 獲取 NONCE ticket_騰訊云 前提條件,已經成功獲取了access token。 獲取參考文檔: PHP騰訊云人臉核身獲取Access Token-CSDN博客 public function getTxFaceNonceTicket($uid) {$access_token file_get_c…

多人3D游戲完整實現方案

以下是一份完整的代碼實現方案,涵蓋架構設計、核心模塊實現和部署流程。我們以 多人3D游戲 為例,結合之前討論的Nano服務端框架和Unity客戶端: 技術棧 模塊技術選型服務端Golang + Nano框架 + MongoDB客戶端Unity 2022 + C# + Mirror Networking通信協議Protobuf + WebSock…

【Linux我做主】GDB調試工具完全指南

Linux下GDB調試工具完全指南:25個核心命令詳解與實戰示例 github地址 有夢想的電信狗 前言 GDB(GNU Debugger)是Linux開發中不可或缺的調試工具,尤其在定位代碼邏輯錯誤和內存問題時表現卓越。本文基于實際開發經驗&#xff0…

QT中柵格模式探索

1、Qt中選擇了柵格模式,如下圖所示: 2、在進行整個大的UI界面布局時,需了解每個控件所需要選擇的屬性sizePolicy。 sizePolicy包含如下幾種選擇: 3、舉個例子:此時整個UI界面,我采用了柵格模式&#xf…