TDengine 選擇函數 Last() 用戶手冊

在這里插入圖片描述

LAST() 函數用戶手冊

函數定義

LAST(expr)

功能說明

LAST() 函數統計表/超級表中某列的值最后寫入的非 NULL 值,即返回時間戳最大的非 NULL 值。

版本要求

  • 最低版本: v3.0.0.0

返回值

  • 數據類型: 同應用的字段
  • 返回內容: 時間戳最大的非 NULL 值及其對應的時間戳

參數說明

參數類型說明取值范圍
expr任意類型要統計的字段表達式或 *所有字段類型

適用數據類型

  • 所有字段類型: 支持所有數據類型,包括數值類型、字符串類型、時間戳類型等

適用范圍

  • 表類型: 表和超級表
  • 查詢支持: 支持聚合查詢、窗口查詢
  • 多結果函數: 支持多列返回

使用說明

  1. NULL 值處理: 忽略 NULL 值,只返回非 NULL 值
  2. 時間戳關聯: 返回值對應時間戳最大的記錄
  3. 復合主鍵: 對于存在復合主鍵的表,若最大時間戳的數據有多條,則返回復合主鍵最大的數據
  4. 全 NULL 處理:
    • 如果某列全部為 NULL 值,則該列返回結果也是 NULL
    • 如果所有列全部為 NULL 值,則不返回結果
  5. LAST(*): 支持查詢所有列的最后一個非 NULL 值
  6. 隨機性: 在用于超級表時,時間戳完全一樣且同為最大的數據行可能有多個,會從中隨機返回一條,不保證多次運行所挑選的數據行必然一致

基本用法示例

單列查詢

-- 獲取電流的最后一個非 NULL 值
SELECT LAST(current) FROM meters;-- 獲取電壓的最后一個非 NULL 值
SELECT LAST(voltage) FROM meters;-- 獲取相位的最后一個非 NULL 值
SELECT LAST(phase) FROM meters;

多列查詢

-- 獲取多個字段的最后一個非 NULL 值
SELECT LAST(current), LAST(voltage), LAST(phase) FROM meters;-- 使用 LAST(*) 查詢所有列的最后一個非 NULL 值
SELECT LAST(*) FROM meters;

NULL 值處理

-- LAST 函數自動忽略 NULL 值
SELECT LAST(current) FROM meters;
-- 只返回非 NULL 的最后值

智能電表場景應用示例

基于智能電表數據庫結構:

-- 數據庫和表結構
USE test;
-- meters 超級表包含 ts, current, voltage, phase 字段和 location, groupid 標簽

場景1:設備最新狀態監控

-- 查找每個電表的最新運行數據
SELECT tbname,LAST(current) as latest_current,LAST(voltage) as latest_voltage,LAST(phase) as latest_phase
FROM meters 
GROUP BY tbname;

場景2:按區域查找最新數據

-- 查找每個區域最新的用電記錄
SELECT location,LAST(current) as latest_current,LAST(voltage) as latest_voltage,LAST(phase) as latest_phase
FROM meters 
GROUP BY location;

場景3:設備組最新狀態分析

-- 分析不同設備組的最新運行情況
SELECT groupid,location,LAST(*) 
FROM meters 
GROUP BY groupid, location
ORDER BY groupid;

場景4:數據完整性檢查

-- 檢查各電表最新數據的完整性
SELECT tbname,CASE WHEN LAST(current) IS NULL THEN '電流數據缺失'WHEN LAST(voltage) IS NULL THEN '電壓數據缺失'WHEN LAST(phase) IS NULL THEN '相位數據缺失'ELSE '數據完整'END as data_status,LAST(current) as latest_current,LAST(voltage) as latest_voltage,LAST(phase) as latest_phase
FROM meters 
GROUP BY tbname;

場景5:實時監控面板

-- 獲取各電表的實時監控數據
SELECT tbname,location,groupid,LAST(current) as realtime_current,LAST(voltage) as realtime_voltage,LAST(phase) as realtime_phase
FROM meters 
GROUP BY tbname, location, groupid
HAVING LAST(current) IS NOT NULL;-- 按區域統計設備狀態
SELECT location,COUNT(*) as meter_count,MAX(LAST(current)) as max_current,MIN(LAST(current)) as min_current,MAX(LAST(voltage)) as max_voltage,MIN(LAST(voltage)) as min_voltage
FROM meters 
GROUP BY location;

場景6:異常設備識別

-- 識別最近異常的設備
SELECT tbname,location,LAST(current) as latest_current,LAST(voltage) as latest_voltage,CASE WHEN LAST(current) > 25.0 THEN '電流過載'WHEN LAST(voltage) < 200 OR LAST(voltage) > 240 THEN '電壓異常'WHEN LAST(phase) < 0 OR LAST(phase) > 360 THEN '相位異常'ELSE '正常'END as device_status
FROM meters 
GROUP BY tbname, location
ORDER BY latest_current DESC;

場景7:設備運行時長統計

-- 計算設備從首次記錄到最后記錄的運行時長
SELECT tbname,location,FIRST(ts) as start_time,LAST(ts) as end_time,LAST(current) as final_current
FROM meters 
GROUP BY tbname, location;

場景8:負載變化趨勢分析

-- 分析電表負載從初始到最終的變化
SELECT location,FIRST(current) as initial_current,LAST(current) as final_current,LAST(current) - FIRST(current) as current_change,CASE WHEN LAST(current) > FIRST(current) THEN '負載增加'WHEN LAST(current) < FIRST(current) THEN '負載減少'ELSE '負載穩定'END as load_trend
FROM meters 
GROUP BY location
HAVING FIRST(current) IS NOT NULL AND LAST(current) IS NOT NULL;

場景9:電能質量最新狀態評估(分步查詢)

-- 第一步:獲取每個電表的最新數據
SELECT tbname,groupid,location,LAST(current) as latest_current,LAST(voltage) as latest_voltage,LAST(phase) as latest_phase
FROM meters 
GROUP BY tbname, groupid, location;

場景10:設備維護提醒

-- 根據最后記錄時間和數據值進行維護提醒
SELECT tbname,location,LAST(ts) as last_record_time,LAST(current) as last_current_reading,CASE WHEN LAST(ts) < NOW() - 1d THEN '設備可能離線,需要檢查'WHEN LAST(current) > 20.0 THEN '電流過高,需要維護'WHEN LAST(voltage) < 200 THEN '電壓異常,需要檢查'ELSE '設備運行正常'END as maintenance_status
FROM meters 
GROUP BY tbname, location
ORDER BY last_record_time ASC;

LAST(*) 的特殊用法

查詢所有列的最后值

-- 查詢超級表所有列的最后非 NULL 值
SELECT LAST(*) FROM meters;-- 按電表分組查詢每個電表的最后記錄
SELECT LAST(*) FROM meters GROUP BY tbname;

標簽列返回控制

在 TDengine 中,LAST(*) 的行為受 multiResultFunctionStarReturnTags 參數控制:

  • 設置為 0(默認): 只返回超級表的普通列
  • 設置為 1: 返回超級表的普通列和標簽列
-- 設置參數以包含標簽列
SET multiResultFunctionStarReturnTags=1;
SELECT LAST(*) FROM meters;-- 恢復默認設置
SET multiResultFunctionStarReturnTags=0;

LAST 函數緩存優化

緩存機制說明

TDengine 通過數據庫的 CACHEMODEL 參數來優化 LAST 函數的查詢性能。當啟用相應的緩存模式后,系統會在內存中緩存子表的最近數據,從而大幅提升 LAST 相關查詢的響應速度。

CACHEMODEL 參數詳解

CACHEMODEL 表示是否在內存中緩存子表的最近數據,有以下四種模式:

模式說明適用場景
none不緩存(默認值)內存資源緊張或不常用 LAST 查詢
last_row緩存子表最近一行數據頻繁使用 LAST_ROW 函數的場景
last_value緩存子表每一列的最近非 NULL 值頻繁使用 LAST 函數的場景
both同時開啟 last_row 和 last_value 緩存同時需要 LAST 和 LAST_ROW 高性能的場景

重要說明: last_value 模式將顯著改善無特殊影響(WHERE、ORDER BY、GROUP BY、INTERVAL)下的 LAST 函數的性能表現。

啟用 LAST 函數緩存

創建數據庫時啟用緩存
-- 創建數據庫時啟用 LAST 函數緩存
CREATE DATABASE test_db CACHEMODEL 'last_value';-- 創建數據庫時同時啟用 LAST 和 LAST_ROW 緩存
CREATE DATABASE test_db CACHEMODEL 'both';-- 完整的創建示例,包含緩存配置
CREATE DATABASE smart_meter CACHEMODEL 'last_value' CACHESIZE 16 BUFFER 256 PRECISION 'ms';
修改現有數據庫啟用緩存
-- 為現有數據庫啟用 LAST 函數緩存
ALTER DATABASE test CACHEMODEL 'last_value';-- 為現有數據庫同時啟用 LAST 和 LAST_ROW 緩存
ALTER DATABASE test CACHEMODEL 'both';-- 禁用緩存
ALTER DATABASE test CACHEMODEL 'none';
配置緩存大小
-- 設置每個 vnode 用于緩存的內存大小(MB)
ALTER DATABASE test CACHESIZE 32;  -- 設置為 32MB-- 同時修改緩存模式和大小
ALTER DATABASE test CACHEMODEL 'both' CACHESIZE 64;
查看緩存配置狀態
-- 查看數據庫的緩存配置
SELECT NAME, CACHE_MODEL, CACHE_SIZE 
FROM INFORMATION_SCHEMA.INS_DATABASES 
WHERE NAME='test';-- 查看詳細的數據庫配置
SHOW CREATE DATABASE test \G;-- 查看所有數據庫的緩存配置
SELECT NAME, CACHE_MODEL, CACHE_SIZE 
FROM INFORMATION_SCHEMA.INS_DATABASES;

緩存使用效果示例

啟用緩存后的高性能查詢
-- 啟用 last_value 緩存后的高效查詢
-- 獲取所有電表的最新非 NULL 狀態(毫秒級響應)
SELECT tbname, LAST(*) FROM meters GROUP BY tbname;-- 設備在線狀態檢查(毫秒級響應)
SELECT tbname,location,LAST(ts) as last_seen,CASE WHEN LAST(ts) > NOW() - 5m THEN '在線'ELSE '離線'END as status
FROM meters 
GROUP BY tbname, location;
緩存監控與診斷
-- 查看 vgroup 的緩存使用情況
SHOW test.vgroups;-- 檢查緩存負載
SELECT * FROM INFORMATION_SCHEMA.INS_DATABASES WHERE NAME='test';

緩存優化最佳實踐

1. 緩存模式選擇建議
-- 場景1:主要使用 LAST 函數的監控系統
CREATE DATABASE monitoring_db CACHEMODEL 'last_value' CACHESIZE 32;-- 場景2:同時需要 LAST 和 LAST_ROW 的實時系統
CREATE DATABASE realtime_db CACHEMODEL 'both' CACHESIZE 64;-- 場景3:內存敏感的環境
CREATE DATABASE minimal_db CACHEMODEL 'none';
2. 緩存大小調優

根據文檔說明,可以通過以下方式判斷和調整緩存大小:

-- 1. 查看當前 cachesize(單位:MB)
SELECT NAME, CACHE_SIZE FROM INFORMATION_SCHEMA.INS_DATABASES WHERE NAME='test';-- 2. 查看 cacheload(單位:Byte)
SHOW test.vgroups;-- 3. 根據負載情況調整
-- 如果 cacheload 非常接近 cachesize,則 cachesize 可能過小
-- 如果 cacheload 明顯小于 cachesize 則 cachesize 是夠用的-- 小規模部署(< 1000 設備)
ALTER DATABASE test CACHESIZE 8;-- 中等規模部署(1000-10000 設備)
ALTER DATABASE test CACHESIZE 32;-- 大規模部署(> 10000 設備)
ALTER DATABASE test CACHESIZE 128;
3. 監控緩存效果
-- 創建緩存性能監控查詢
SELECT NAME as db_name,CACHE_MODEL,CACHE_SIZE,BUFFER
FROM INFORMATION_SCHEMA.INS_DATABASES 
WHERE NAME = 'test';-- 查看 vgroup 緩存負載
SHOW test.vgroups;

緩存注意事項與限制

  1. 內存消耗: 啟用緩存會增加內存使用,CACHESIZE 范圍為 [1, 65536] MB
  2. 數據一致性: 緩存數據與磁盤數據保持強一致性,無需擔心數據不一致
  3. 適用場景: 特別適合頻繁查詢最新數據的實時監控場景
  4. 模式切換警告: CACHEMODEL 值來回切換有可能導致 last/last_row 的查詢結果不準確,建議保持穩定配置(推薦保持打開)
  5. 緩存預熱: 新啟用緩存后,第一次查詢可能稍慢,后續查詢會顯著加速
  6. 查詢限制: last_value 緩存主要優化無特殊影響(WHERE、ORDER BY、GROUP BY、INTERVAL)下的 LAST 函數查詢

與其他函數的對比

LAST vs FIRST

-- 對比首個值和最后值
SELECT location,FIRST(current) as first_current,LAST(current) as last_current,LAST(current) - FIRST(current) as current_change,FIRST(ts) as first_time,LAST(ts) as last_time
FROM meters 
GROUP BY location;

LAST vs MAX

-- LAST 返回時間最晚的值,MAX 返回數值最大的值
SELECT location,LAST(current) as latest_current,    -- 時間最晚的電流值MAX(current) as maximum_current     -- 數值最大的電流值
FROM meters 
GROUP BY location;

LAST vs LAST_ROW

-- LAST 和 LAST_ROW 的區別
SELECT location,LAST(current) as last_non_null_current,     -- 最后的非NULL電流值LAST_ROW(current) as last_row_current       -- 最后一行的電流值(可能為NULL)
FROM meters 
GROUP BY location;

TDengine 函數嵌套限制說明

不支持的嵌套方式

-- 以下寫法都會報錯:
-- AVG(LAST(current))          -- 聚合函數嵌套選擇函數
-- SUM(FIRST(voltage))         -- 聚合函數嵌套選擇函數  
-- COUNT(TOP(current, 1))      -- 聚合函數嵌套選擇函數
-- MAX(LAST(phase))            -- 聚合函數嵌套選擇函數

推薦的替代方案

  1. 分步查詢:先用 LAST 獲取數據,再在外層或應用層計算聚合
  2. 使用單層聚合:直接使用 MAX、MIN、COUNT 等函數
  3. 子查詢:如果支持,使用子查詢分離不同層次的聚合

正確的查詢模式

-- 模式1:單層查詢
SELECT location,LAST(current) as latest_current,MAX(current) as max_current,MIN(current) as min_current,COUNT(*) as record_count
FROM meters 
GROUP BY location;-- 模式2:分層查詢(推薦)
-- 第一層:獲取每個設備的最新數據
SELECT tbname,location, LAST(current) as latest_current
FROM meters 
GROUP BY tbname, location;
-- 第二層:在應用層計算區域統計

性能優化建議

1. 緩存優化

-- 為高頻 LAST 查詢啟用緩存
ALTER DATABASE test CACHEMODEL 'last_value' CACHESIZE 64;

2. 查詢優化

-- 使用合適的時間范圍過濾
SELECT LAST(current) FROM meters 
WHERE ts >= NOW() - 1d
GROUP BY location;-- 避免不必要的復雜條件
SELECT LAST(*) FROM meters GROUP BY tbname;

3. 索引優化

-- 確保時間戳字段有適當的索引(TDengine 自動處理)
-- 合理設計標簽字段以優化分組查詢

常見問題與解決方案

1. 查詢性能問題

問題: LAST 查詢響應慢
解決方案:

-- 啟用 last_value 緩存
ALTER DATABASE your_db CACHEMODEL 'last_value';
-- 調整緩存大小
ALTER DATABASE your_db CACHESIZE 32;

2. 內存使用過高

問題: 緩存占用內存過多
解決方案:

-- 先檢查當前緩存使用情況
SHOW your_db.vgroups;-- 減少緩存大小
ALTER DATABASE your_db CACHESIZE 16;
-- 或關閉緩存
ALTER DATABASE your_db CACHEMODEL 'none';

3. 結果不一致

問題: 頻繁切換 CACHEMODEL 導致結果不準確
解決方案: 保持穩定的緩存配置,避免頻繁切換

4. 聚合函數嵌套錯誤

問題: AVG(LAST(current)) 報錯
解決方案: 使用分步查詢或單層聚合函數

注意事項

  1. 時間戳依賴: LAST 函數依賴于時間戳排序,確保時間戳字段的準確性
  2. NULL值忽略: 函數自動忽略 NULL 值,只返回非 NULL 值
  3. 復合主鍵: 對于有復合主鍵的表,相同時間戳的記錄會按主鍵排序
  4. 隨機性: 超級表查詢時,相同最大時間戳的多條記錄會隨機選擇一條
  5. 緩存配置: 啟用緩存會增加內存消耗,需要根據系統資源合理配置
  6. 結果完整性:
    • 單列全為 NULL 時,該列結果為 NULL
    • 所有列全為 NULL 時,不返回任何結果
  7. 配置穩定性: 建議保持 CACHEMODEL 配置穩定,避免頻繁更改
  8. 函數嵌套限制: 不支持在聚合函數內嵌套 LAST 函數

相關函數

  • FIRST(): 返回最先(時間戳最小)的非 NULL 值
  • LAST_ROW(): 返回最后一條記錄(可能包含 NULL 值)
  • MAX(): 返回數值最大的值
  • MIN(): 返回數值最小的值
  • TOP(): 返回最大的 k 個值
  • BOTTOM(): 返回最小的 k 個值

關于 TDengine

TDengine 專為物聯網IoT平臺、工業大數據平臺設計。其中,TDengine TSDB 是一款高性能、分布式的時序數據庫(Time Series Database),同時它還帶有內建的緩存、流式計算、數據訂閱等系統功能;TDengine IDMP 是一款AI原生工業數據管理平臺,它通過樹狀層次結構建立數據目錄,對數據進行標準化、情景化,并通過 AI 提供實時分析、可視化、事件管理與報警等功能。

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

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

相關文章

< 自用文 學習 > 用 Claude Code 做一個日歷

環境&#xff1a; OS: Windows 11 IDE&#xff1a;TREA Model: Sonnet / Qwen (免費 Token 用完) 參考&#xff1a; Claude Code Beginner Guide – Get Started in 20 Minutes (2025) by Alex Finn 油管博客 https://www.youtube.com/watch?viYiuzAsWnHU&listTLGG1L…

Gmail 數據泄露安全警報以及啟示

目前&#xff0c;大規模數據泄露和針對性釣魚攻擊持續威脅著數十億 Gmail 用戶的安全&#xff0c;受ShinyHunters、UNC6040、UNC6395等威脅組織攻擊&#xff0c;25 億 Gmail 用戶面臨極大風險&#xff1b;攻擊者已從暴力破解轉向社會工程學與混合勒索&#xff0c;而密碼復用、弱…

2024年6月GESPC++三級真題解析(含視頻)

視頻講解&#xff1a;GESP2024年6月三級C真題講解 一、單選題 第1題 解析&#xff1a; 答案C&#xff0c; 認證語言有C/C、Python、Scratch 第2題 解析&#xff1a; 答案B&#xff0c;判斷閏年口訣“ 4閏 100不閏 400再閏 ” 第3題 解析&#xff1a; 答案C&#xff…

AiPPT生成的PPT內容質量怎么樣?會不會出現邏輯混亂或數據錯誤?

作為一個每天要和 PPT 打交道的職場人&#xff0c;我用 AiPPT快一年了&#xff0c;從最初的 “試試看” 到現在的 “離不開”&#xff0c;最讓我驚喜的就是它生成的 PPT 內容質量 —— 不僅邏輯清晰、數據專業&#xff0c;還能精準貼合不同場景需求&#xff0c;完全沒遇到過邏輯…

DINOv3 新穎角度解釋

1. Gram錨定&#xff08;Gram Anchoring&#xff09;的創新視角 新穎角度&#xff1a;oriane_simeoni&#xff08;Meta AI研究人員&#xff09;在X上分享了一個關于Gram錨定的深入線程&#xff0c;強調這一技術如何解決自監督學習中長期訓練導致的特征圖退化問題。 解釋&#x…

【T2I】Discriminative Probing and Tuning for Text-to-Image Generation

paper&#xff1a;CVPR 2024 2403 https://arxiv.org/abs/2403.04321 code&#xff1a; https://github.com/LgQu/DPT-T2IAbstract 盡管文本到圖像生成&#xff08;T2I&#xff09;取得了進展&#xff0c;但先前的方法往往面臨文本 -圖像對齊問題&#xff0c;例如生成圖像中的關…

【CentOS7】使用yum安裝出錯,報HTTPS Error 404 - Not Found

【CentOS7】使用yum安裝出錯&#xff0c;報HTTPS Error 404 - Not Found問題描述解決辦法博主有話說問題描述 在CentOS7中安裝docker&#xff0c;切換了國內的鏡像源進行yum安裝&#xff0c;始終報如下錯誤&#xff1a;HTTPS Error 404 - Not Found 正在嘗試其他鏡像&#xff…

vulnhub:Kioptrix level 2

0x00、環境下載 鏈接&#xff1a;https://www.vulnhub.com/entry/kioptrix-level-11-2,23/ 0x01、前期準備 1.1、檢查文件 hash值對比無誤后解壓 1.2、編輯虛擬機網卡 當不支持橋接時候&#xff0c;如練WiFi無無線網卡 方法1&#xff1a; 修改type為nat 方法2&#xff1a;將…

【CentOS7】docker安裝成功后測試,報Unable to find image ‘hello-world:latest‘ locally

【CentOS7】docker安裝成功測試&#xff0c;報Unable to find image hello-world:latest locally問題描述問題解決問題描述 根據大佬的博文【CentOS7】Linux安裝Docker教程&#xff08;保姆篇&#xff09;&#xff0c;以及結合之前的博文【CentOS7】使用yum安裝出錯&#xff0…

福彩雙色球第2025104期籃球號碼分析

明天是2025年9月9號星期二&#xff0c;深圳天氣大雨。福彩雙色球第2025104期籃球號碼分析&#xff0c;上期開出籃球16&#xff0c;數字形式是1路球&#xff0c;合數偶數大號區域1字頭數字。籃球1尾數01和11遺漏21期上次遺漏8期上上次遺漏7期&#xff0c;籃球3尾數03和13遺漏18期…

[手寫系列]Go手寫db — — 第三版(實現分組、排序、聚合函數等)

[手寫系列]Go手寫db — — 第三版第一版文章地址&#xff1a;https://blog.csdn.net/weixin_45565886/article/details/147839627 第二版文章地址&#xff1a;https://blog.csdn.net/weixin_45565886/article/details/150869791 &#x1f3e0;整體項目Github地址&#xff1a;ht…

狂想-機器人觸感陣列理論驗證方案

將方案改為使用**限制移動范圍的半滾球**作為理論驗證原型&#xff0c;是一個極具智慧且可行的降維策略&#xff0c;它將極大降低驗證門檻&#xff0c;但同時會犧牲部分性能。### **方案轉變后的核心變化**1. **原理替換**&#xff1a;從依賴**光學流**&#xff08;拍攝表面紋理…

UNBIASED WATERMARK:大語言模型的無偏差水印

摘要1.背景與問題提出大語言模型&#xff08;LLMs&#xff09;的快速發展引發了對其可能被濫用的擔憂。為降低這種風險&#xff0c;將水印技術融入大語言模型&#xff0c;以實現對模型輸出的追蹤和溯源成為一種思路。而此前研究認為&#xff0c;水印強度和模型輸出質量之間存在…

MySQL——事務、MVCC

目錄 什么是事務&#xff1f; 事務的四大特性 事務的隔離級別 事務的原理 redo log undo log MVCC實現原理 概念 隱藏字段 undo log版本鏈 readview 什么是事務&#xff1f; 事務是一組操作的集合&#xff0c;它是一個不可分割的工作單位&#xff0c;事務會把所有的操…

光伏項目無人機踏勘--如何使用無人機自動航線規劃APP

手機號免費注冊iSolarBP&#xff0c;一起來學習吧&#xff0c;注冊獲取無人機航線規劃APP https://isolar-bp.sungrowplant.com/isolarbp#/login?qrcodeId1952928161454551042https://isolar-bp.sungrowplant.com/isolarbp#/login?qrcodeId1952928161454551042 登錄--下載航…

優先搜索(DFS)實戰

目錄 一、DFS通用解題思路 二、逐題拆解 三、四題對比 四、總結&#xff1a;DFS解決矩陣問題的“萬能模板” 在算法解題中&#xff0c;矩陣連通性問題是高頻考點&#xff0c;而深度優先搜索&#xff08;DFS&#xff09;是解決這類問題的核心工具之一。它通過“一條路走到…

門控MLP(Qwen3MLP)與稀疏混合專家(Qwen3MoeSparseMoeBlock)模塊解析

Qwen3MLP Qwen3MLP是基于門控機制的MLP模塊&#xff0c;采用了類似門控線性單元&#xff08;GLU&#xff09;的結構。它通過三個線性變換層&#xff08;gate_proj、up_proj和down_proj&#xff09;和SiLU激活函數&#xff0c;先將輸入從隱藏維度擴展到中間維度&#xff0c;經過…

產線相機問題分析思路

現象&#xff1a;復現問題 原因&#xff1a;問題分析、溯源&#xff0c;定位根本原因&#xff1b; 方案&#xff1a;提出解決方案、規避措施 驗證&#xff1a;導入、驗證方案是否可行&#xff08;先小批量、再大批量&#xff09;&#xff1b;一. 現象產線反饋4pcs預覽又臟污、劃…

【開關電源篇】EMI輸入電路-超簡單解讀

1. 輸入電路主要包含哪些元件&#xff1f;濾波設計需遵循什么原則&#xff1f; 輸入電路是電子設備&#xff08;如開關電源&#xff09;的“入口”&#xff0c;核心作用是抑制電磁干擾&#xff08;EMI&#xff09;、保護后級電路&#xff0c;其設計直接影響設備的穩定性和電磁…

勝券POS:打造智能移動終端,讓零售智慧運營觸手可及

零售企業運營中依然存在重重挑戰&#xff1a;收銀臺前的長隊消磨著顧客的耐心&#xff0c;倉庫里的庫存盤點不斷侵蝕著員工的精力&#xff0c;導購培訓的成本長期居高不下卻收效甚微……面對這些痛點&#xff0c;零售企業或許都在等待一個破局的答案。百勝軟件勝券POS&#xff…