我有一個數據庫,大多數表都以某種方式連接。 它由超過500000條記錄組成。 我需要實施實時搜索,但記錄數困擾我。將單個數據庫分爲活動和歸檔
數據庫將增長和生活在數百萬記錄搜索將肯定會導致問題。所以我需要將舊記錄(讓我們假設日期字段存在)移動到另一個數據庫,並且只保留新記錄用於搜索。
舊的記錄將不會再使用,這是肯定的,但我仍然需要保留它們。
任何想法如何可以在MySQL中實現?
我有一個數據庫,大多數表都以某種方式連接。 它由超過500000條記錄組成。 我需要實施實時搜索,但記錄數困擾我。將單個數據庫分爲活動和歸檔
數據庫將增長和生活在數百萬記錄搜索將肯定會導致問題。所以我需要將舊記錄(讓我們假設日期字段存在)移動到另一個數據庫,並且只保留新記錄用於搜索。
舊的記錄將不會再使用,這是肯定的,但我仍然需要保留它們。
任何想法如何可以在MySQL中實現?
500,000條記錄確實不是很多記錄。
你開始採取嚴厲的措施(如限制用戶能夠無縫地同時看到所有的數據的能力)之前,您應該考慮提高性能的基礎知識:
match()
查詢。一般來說,這些對於數量級比您正在處理的數量級要大的數據庫就足夠了。
這些可能不適用於您的特定情況;但是在更改物理數據模型之前,您應該儘量減少性能優化,以避免可能永遠不會發生的問題。
我不確定數據庫服務器是否可以在實時搜索時使用它,它的計算能力非常有限。 –
根據我的經驗,這通常是一個壞主意;適當的索引和搜索標準應該縮小搜索到的記錄的範圍,以便記錄數量(極端情況除外)不應該成爲一個重要因素。這可能並不是一個壞主意,除非_「舊的記錄將不再被使用」_幾乎總是在_「但我仍然需要保留它們」時被證明是虛假的;然後你最終不得不搜索兩個(或更多)地方。 – Uueerdo
@Uueerdo,_「但我仍然需要保持他們」_意爲萬一訴訟。其他任何東西都不需要它們。 –