1

バージョン11.2を使用していますが、テーブルフィールドでuint64を直接サポートしていません。パフォーマンスに関して何を提案しますか?主キーである必要があります。

ありがとう

4

4 に答える 4

1

私は Oracle について何も知りませんが、MS SQL は同様に悩まされており、64 ビットの符号なし int を binary(8) フィールドに格納することになりました。Oracleに同様のフィールドキャップがある場合(そして、そうではないとは想像できません)、おそらく同じことがうまくいくでしょう。

SQL Server での結論は、バイナリ (n) フィールドを他のバイナリ (n) フィールドと比較して効果的にバイト配列として比較することです。同じサイズの場合、ビッグ エンディアン表現としても比較することを意味します (それが格納方法である場合)。 、そしてあなたはそうしないと気が狂うでしょう)。

申し訳ありませんが、私はオラクルに精通していません。連れてきた人と踊らなきゃ =)

于 2012-09-21T23:41:49.023 に答える
1

おそらくそれをcharに変換してから、to_numberを使用してcharとして挿入し、正しい形式にしますか?

于 2012-09-21T17:47:02.960 に答える
1

私は RAW(8) データ型を使用しており、次のように記述します。

uint64 i;
Bytes key((unsigned char*)&i, 8);
statement->setBytes(1, key);

高速でコンパクトで、うまく機能しているようです。

于 2012-09-26T10:53:29.837 に答える