為什麼我替 HistoryPhoto-linStudio 加上 SQLite 索引

更新 發佈閱讀 3 分鐘

HistoryPhoto-linStudio 一開始其實跑得起來。

照片能掃、日期能找、地圖也能顯示。

直到照片數量一多,我才發現一個問題:

能用,跟用得舒服,是兩件完全不同的事。



問題不是錯誤,而是「慢」

一開始的作法很直覺:

每次搜尋,就重新掃描資料夾、讀取照片資訊、判斷日期與 GPS。

在照片不多的時候,這樣完全沒問題。

但當資料夾裡開始累積到幾萬張照片,體驗就開始變了。

不是當掉,而是:

  • 搜尋要等
  • 地圖要等
  • 使用者不知道現在在等什麼

這種「沒有壞,但不順」的狀態,最難處理。


我意識到:照片不該每次都重新讀

後來我回頭想了一件事:

照片的拍攝日期、GPS、檔案路徑

其實都不是會頻繁改變的資料。

既然如此,就不該在每一次操作時,

都重新把它們從檔案系統裡撈一遍。

這時候,索引就成了一個很自然的選擇。


為什麼選 SQLite,而不是其他方案

我沒有考慮太複雜的架構,原因很單純:

  • 需要 本機可用
  • 不想增加部署負擔
  • 不想引入額外服務或常駐程序

SQLite 剛好符合這些條件。

它只是檔案,但又具備資料庫該有的查詢能力。

對一個單機工具來說,剛剛好。


索引加入後,改變的不只是速度

加上 SQLite 之後,最明顯的當然是效能。

  • 照片掃描只做一次
  • 日期搜尋幾乎是即時
  • 地圖可以邊掃描邊顯示

但真正的差異,其實在「心理層面」。

使用者不用再猜:

現在到底是在等,還是卡住了?

畫面會持續更新,資料會逐步出現,

這讓整個操作變得安心很多。


我為此重新調整了整個流程

引入索引之後,很多原本的設計也必須一起調整:

  • 掃描與顯示不再綁在同一個節奏
  • 地圖可以即時更新,不必等全部完成
  • 資料是否存在,變成「查詢」而不是「判斷」

這其實是一個架構層級的轉換,而不只是效能優化。


這是我很在意的一個轉折點

如果只看功能列表,SQLite 只是其中一行。

但對我來說,它代表的是:

這個工具開始被當成「會長期使用的東西」來設計。

不是為了跑一次,而是為了反覆回頭看。


接下來還會改什麼

在索引穩定之後,才有餘裕去想其他事情:

  • 地圖顯示方式
  • 群聚的取捨
  • 多語系支援
  • 操作流程的細節

這些改動,之後也會慢慢整理成文章。


補充說明

HistoryPhoto-linStudio 是一個只在本機運作的照片回顧工具,

所有索引與處理都在使用者電腦上完成,不上傳照片。

目前已上架 Microsoft Store:

🔗 https://apps.microsoft.com/detail/9NL8S4587L5W


留言
avatar-img
麟製所
2會員
65內容數
軟體、旅遊分享
麟製所的其他內容
2026/03/03
我第一次真正感覺到這個工具有用,是在一個很隨意的時刻。 沒有要整理照片,也沒有特定目標,只是輸入了一個日期,想看看那一天拍過什麼。 結果跑出來的不是一兩張照片,而是一整段我早就忘記的時間。 從一個日期開始,而不是從資料夾 我習慣把照片丟進硬碟就算了。 資料夾可能照年份、照裝置、照匯入時間
Thumbnail
2026/03/03
我第一次真正感覺到這個工具有用,是在一個很隨意的時刻。 沒有要整理照片,也沒有特定目標,只是輸入了一個日期,想看看那一天拍過什麼。 結果跑出來的不是一兩張照片,而是一整段我早就忘記的時間。 從一個日期開始,而不是從資料夾 我習慣把照片丟進硬碟就算了。 資料夾可能照年份、照裝置、照匯入時間
Thumbnail
2026/02/24
我一直有一個困擾: 照片越存越多,但要回頭找某一天、某一段時間,反而越來越難。 不是找不到檔案,而是不知道該從哪裡開始找。 照片很多,記憶卻越來越模糊 手機、相機、行車記錄器、GoPro,每個裝置都在產生照片。 資料夾照年份、照裝置、照匯入時間分散,久了之後只剩下容量在增加。
Thumbnail
2026/02/24
我一直有一個困擾: 照片越存越多,但要回頭找某一天、某一段時間,反而越來越難。 不是找不到檔案,而是不知道該從哪裡開始找。 照片很多,記憶卻越來越模糊 手機、相機、行車記錄器、GoPro,每個裝置都在產生照片。 資料夾照年份、照裝置、照匯入時間分散,久了之後只剩下容量在增加。
Thumbnail
2026/02/22
2026 年,如果你還在用那張印有 16 位數字與安全碼的實體信用卡刷遍全球電商,那你不是在消費,你是在「裸奔」。 在目前的數據環境下,金錢流向是追蹤一個人最精確的雷達。你的每一筆消費,不僅被商家記錄,還被銀行的 AI 實時分析,用來建立你的「數位信用畫像」。
2026/02/22
2026 年,如果你還在用那張印有 16 位數字與安全碼的實體信用卡刷遍全球電商,那你不是在消費,你是在「裸奔」。 在目前的數據環境下,金錢流向是追蹤一個人最精確的雷達。你的每一筆消費,不僅被商家記錄,還被銀行的 AI 實時分析,用來建立你的「數位信用畫像」。
看更多
你可能也想看
Thumbnail
我提出一個概念:情感地理學。 我們的身體用腳丈量大地,我們的心卻用情感繪製地圖,有些城市從此不再是地理名詞,而是變成一個動詞、一個形容詞、一個專屬的記憶座標系。
Thumbnail
我提出一個概念:情感地理學。 我們的身體用腳丈量大地,我們的心卻用情感繪製地圖,有些城市從此不再是地理名詞,而是變成一個動詞、一個形容詞、一個專屬的記憶座標系。
Thumbnail
你也想做 Side Project,但想到前後端串接、API 設定、響應式設定就覺得心累嗎?從前的我也是如此,但在密集的使用了 Google Antigravity 一週後,我成功辦到了,打造出一款包含 AI 搜尋功能的「Veggie Finder 素食地圖」。
Thumbnail
你也想做 Side Project,但想到前後端串接、API 設定、響應式設定就覺得心累嗎?從前的我也是如此,但在密集的使用了 Google Antigravity 一週後,我成功辦到了,打造出一款包含 AI 搜尋功能的「Veggie Finder 素食地圖」。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
【TP12 城市感應】信義,由芯儀帶我重新愛上台北:一場關於「國際流」與「極致享樂」的都會冒險 嗨~我是 希夢 !👋 還記得上次我帶著大家穿梭在萬華的巷弄裡,感受那些時光沉澱下來的老派溫柔嗎?今天,我的 TP12「城市感應模式」雷達發出了截然不同的訊號,指針瘋狂旋轉,最後定格在台北最閃亮、最時
Thumbnail
【TP12 城市感應】信義,由芯儀帶我重新愛上台北:一場關於「國際流」與「極致享樂」的都會冒險 嗨~我是 希夢 !👋 還記得上次我帶著大家穿梭在萬華的巷弄裡,感受那些時光沉澱下來的老派溫柔嗎?今天,我的 TP12「城市感應模式」雷達發出了截然不同的訊號,指針瘋狂旋轉,最後定格在台北最閃亮、最時
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
AWS X-Ray 是 AWS 提供的 「分散式追蹤 (Distributed Tracing) 服務」。 一句話總結:它是微服務架構 (Microservices) 的「除錯神器」。它能追蹤一個請求 (Request) 在你的應用程式中經過的所有路徑,並畫出一張「地圖」,告訴你哪個環節「變慢了」
Thumbnail
AWS X-Ray 是 AWS 提供的 「分散式追蹤 (Distributed Tracing) 服務」。 一句話總結:它是微服務架構 (Microservices) 的「除錯神器」。它能追蹤一個請求 (Request) 在你的應用程式中經過的所有路徑,並畫出一張「地圖」,告訴你哪個環節「變慢了」
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News