ログ データベースを開発しています。この場合、ログに記録されるコンポーネントの ID は、データベース自体ではなく、レポートを送信するシステムによって決定されます。システム ID は一意の varchar であり、コンポーネントの ID はシステムによって (離れた場所で) 決定されるため、コンポーネントの主キーが system_id + component_id である場合に一意性が保証されます。
私が疑問に思っているのは、このアプローチが効率的であるかどうかです。自動インクリメントされた整数を ID として使用できますが、それは、システムが提供する既知の文字列 ID を使用する代わりに、この生成された ID を取得できるように、挿入する前に選択操作を行う必要があることを意味します。
データベースは小規模になり、システムごとに数十個のコンポーネントがあり、おそらく数千個のコンポーネントが更新されます (別のテーブル)。古い更新は定期的にファイルにダンプされ、データベースから削除されるため、「大きく」なることはありません。
推奨事項はありますか?