Commit 598f0e9
committed
新增姓名搜尋效能改進方案文件
詳細說明手工倒排索引表的設計與實施計畫:
**背景與目標:**
- 當前效能問題:LIKE '%關鍵詞%' 查詢耗時 1500ms
- 資料庫相容性約束:不依賴 MySQL ngram 或 MariaDB 專屬功能
- 目標:使用標準 SQL + B-Tree 索引達成 500 倍效能提升
**核心方案:**
- CBDB_NAME_SEARCH 倒排索引表設計
- 中文姓名後綴拆分演算法(只拆「名」,不拆「姓」)
- 前綴匹配查詢(LIKE '石%')充分利用 B-Tree 索引
**維護工具:**
- 批次腳本:php artisan cbdb:rebuild-name-search
- Model Observer:自動同步增刪改
- Web 管理介面:/admin/name-search-index(統計、重建、監控)
**實施計畫:**
- 六個階段,14 天完成
- 包含單元測試、整合測試、效能測試
- 預期效能:1500ms → 3ms,提升 500 倍
- 空間開銷:250-350 MB(可接受)
適合中等規模資料集(50 萬人物),不依賴特定資料庫實作。1 parent 75d97d9 commit 598f0e9
1 file changed
Lines changed: 1209 additions & 0 deletions
0 commit comments