我有一個數據庫表,其中有一個varchar(200)列。
這是一個包含歷史日誌信息的表,其中表中約99.9%的行與表中的另一行包含相同的文本消息。
搜索時該數據庫的大小和速度成爲問題。帶有重複文本值的表列
所以我想我可以將varchar值移動到具有唯一文本值的另一個表,然後在第一個表中的每一行都有該表的引用,但在更改此之前,我想知道是否有一個更簡單的方法來做到這一點?
例如,在我現有的表列上設置一些會自動導致此行爲的屬性。以便數據庫自動維護一個包含唯一文本的表格。我意識到這會對刪除操作產生巨大的性能影響,但幾乎從來沒有這樣做過。 另外,我真的很想避免更改插入到日誌表中的程序。
我一直在使用MySQL,但如果另一個數據庫可以做到這一點,它也是一個選項來更改另一個數據庫。 (MariaDB的還是其他?)
感謝
你想在這裏實現什麼 - 正常化或提高速度? – divaka
另外,如果這只是一個歷史日誌,爲什麼你在第一時間登錄MySQL? – divaka
我的第一個目標是減少數據庫的大小。我需要在日誌中搜索爲什麼我使用數據庫。數據中還有時間戳和其他colmuns。 – Kennet