[英]Export blob column from mysql dB to disk and replace it with new file name
所以我正在研究一個遺留數據庫,不幸的是數據庫的性能非常慢。 在少於 10000 條記錄的表中,簡單的 select 查詢最多可能需要 10 秒。
所以我試圖調查問題並發現刪除他們用來存儲文件(主要是視頻和圖像)的列可以解決問題並大大提高性能。
除了添加適當的索引外,我還能夠運行與過去需要 10-15 秒才能在 1 秒內運行的完全相同的查詢。
所以我的問題是。 是否有任何現有的工具或腳本可以用來幫助我從數據庫中導出這些 blob(視頻)並將其保存到磁盤並使用文件系統上的新文件名/路徑更新行?
如果沒有,是否有任何適當的方法來優化數據庫,以便這些 blob 不會對性能產生太大影響?
提示使用此數據庫的某些客戶端使用高級 orms,因此我們對 orm 用於獲取行及其關系的查詢沒有太多控制。 所以我不能直接優化查詢。
SELECT column FROM table1 WHERE id = 1 INTO DUMPFILE 'name.png';
這條路怎么樣?
這些也是INTO_OUTFILE
而不是INTO_DUMPFILE
13.2.10.1 SELECT... INTO 語句 SELECT... INTO 形式的 SELECT 可以將查詢結果存儲在變量中或寫入文件:
SELECT... INTO var_list 選擇列值並將它們存儲到變量中。
SELECT... INTO OUTFILE 將選定的行寫入文件。 可以指定列和行終止符以生成特定的 output 格式。
SELECT... INTO DUMPFILE 在沒有任何格式的情況下將單行寫入文件。
鏈接: https://dev.mysql.com/doc/refman/8.0/en/select-into.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.