[前][次][番号順一覧][スレッド一覧]

mysql:9403

From: Kenji Irie <Kenji Irie <kenji@xxxxxxxxxx>>
Date: Sat, 22 May 2004 21:27:41 +0900
Subject: [mysql 09403] Re: MyISAM->innoDB変換時のレコードの順番について

入江と言います。

>順番は一定ではないということは、取得するたびに順番は
>テーブルの形式に関わらず、変わるということでしょうか。
>このあたりのメカニズムについてお教え願いますでしょうか。

菅原さんの説明にもありましたようにSQL文ではORDER BYを指定する事により順序が
決まります。

SQL文にORDER BY句が無いと言う事は『順序は気にしないよ・適当でいいよ』って事
です。

そこでそのデータベースアプリケーションで一番処理し易い方法で取り出してくるっ
て言うだけです。ですからMySQLに限らず他のSQLアプリケーションでもORDER BY句が
無い時にはどういう順序になるかは不定です。

>順番は一定ではないということは、取得するたびに順番は
>テーブルの形式に関わらず、変わるということでしょうか。
>このあたりのメカニズムについてお教え願いますでしょうか。

更新・削除・最適化等の操作が無い場合には同じ順序になりそうですが、確実に同じ
順序が欲しいのであれば必ずORDER BY句を指定しましょう。

現実の並びはMySQLのソースを見て取り出しのアルゴリズムを調べるのがいいのかな?
頑張って下さい。

<<マニュアルに掲載されてるかもしれませんね…僕は調べていませんが

-- 
Kenji Irie mailto:kenji@xxxxxxxxxx

[前][次][番号順一覧][スレッド一覧]

      9399 2004-05-22 14:19 ["TAKAHASHI, Hiroyuki] MyISAM-&gt;innoDB変換時のレコードの順番について
      9400 2004-05-22 18:05 ┗[SUGAWARA Hajime <sug]                                       
      9401 2004-05-22 18:22  ┗["TAKAHASHI, Hiroyuki]                                     
->    9403 2004-05-22 21:27   ┗[Kenji Irie <kenji@xx]