2016-10-21 5 views
0

重い読み込みアプリケーションがsql-viewの方法でバージョンテーブルにSQLクエリを使用できるように、mysqlのバージョンテーブルを持つ作業メカニズムを見つけたいと思います実際のバージョン番号を持たないSQLクエリーでなければなりません(通常、max_versionにはデータが取り込まれているため、max_version-1である必要があります)。また、メカニズムが安全な方法で重いテーブルの次のバージョンに切り替える必要があります負荷。db loadの下で安全な方法でsql viewを置き換えます

create or replace viewをこのようなタスクに使用するのは安全ですか? これを達成する他の解決策はありますか? 重い負荷がかかる場合、他の落とし穴がありますか?

+0

バージョンの変更頻度はどのくらいですか?一度に1つの行がバージョン管理されていますか?または、テーブル全体が置き換えられていますか?バージョン番号は各行に関連付けられていますか?または定期的な「リリース」ですか? –

+0

テーブル全体にバージョン番号があります。それは一瞬で置き換えられます。 – yvs

答えて

0

瞬間、ノーダウンタイムテーブルのスワップ:

CREATE TABLE new LIKE real; 
load `new` by whatever means you like 
RENAME TABLE real TO old, new TO real; 
DROP TABLE old; -- or keep as the "old version". 

あなたはおそらく、あなたのバージョニングの重要な一部としてそれを使用することができます。

関連する問題