0

次の列を持つテーブルがあるとします:Id(主キー)、myTime、myName

クエリを実行します。

select * from mytable order by myTime

ただし、myTimeには同じ値のエントリがいくつかあります。結果を整理するために使用される順序はどれですか?この例をいくつかのマシンで試しましたが、結果は異なります。myTimeの値が同じである結果は、マシンによって順序が異なります(ただし、両方のマシンが同じバージョンのOracle DDBB 10gを使用します)。

ありがとう。

4

1 に答える 1

1

順序は、テーブルのアクセス方法、および場合によっては並べ替えアルゴリズムによって異なりますが、一般に(常にではないが)、インデックスが設定されている場合、暗黙の並べ替え順序はrowidによるものになります。ソート順を提供するために使用されます。フルスキャンとソートが使用されている場合、私は推測したくありません。

確定的な並べ替え順序が必要な場合は、主キーまたは一意キーによる順序を追加します。ROWIDの2次ソート順は、ページ分割するアプリケーションがある場合に役立つ可能性があります。

于 2013-03-05T10:10:48.433 に答える