ac#/NHibnernate の観点からこれを求めていますが、一般的に適用できます。懸念事項は、HiLo 戦略が ID を非常に迅速に処理することです。たとえば、レコード数の少ないテーブル (ユーザーなど) が、レコード数の多いテーブル (コメントなど) と同じ ID のセットから共有されています。そのため、他の戦略よりも早く高い数値に到達できる可能性があります。それで、人々は何を勧めますか?
コード側: int/uint/long/ulong?
DB側: int/bigint?
私の気持ちはロングとビギントで行くことですが、健全性チェックをお願いします:)