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

mysql:11271

From: "KKuji_Y2" <"KKuji_Y2" <kkuji@xxxxxxxxxx>>
Date: Sat, 26 Mar 2005 01:51:45 +0900
Subject: [mysql 11271] Re: selectで

> 物理ソートなるものが、分かりません。

KK@IBです

「物理」という表現は、実際、実体に即している、くらいの意味です。
これと対の概念が「論理」です。

ここでは、レコードを実際に並べ替える、という意味です。
重くて、時間がかかって大変です。

でも、並べ替えると、その順序では、取り出しが早くなります。

確かに、用語辞典ですぐには説明がなかったですね。

もう一回、説明を加えると、
order by の場合、データレコードを実際に並べ替えず、
そのレコードを指すインデックスをソートするのが一般的だと私は理解しています。

普通は、レコードが実際に指定された順序に並ばなくても、
指定された順序で取り出されれば、良いわけです。
それで、ことが足りるケースが大部分。

そもそも、HDDなどの補助記憶媒体に入っているであろうデータを
並べ直すのは大変です。
それを表す小さなサイズのキーをメモリー上で処理できれば
非常に早いし、いろいろな意味で楽なわけです。
インデックスも実際にはHDDなどに入っているわけですが、
サイズが小さければ、メモリに全部を読み込んだりできてしまうかもしれません。

早いメモリとHDDみたいなものでは、100倍から1000倍くらいの速度差があります。
読み出し操作を入れたらもっと差ができるかも。

こういう、レコードを実際には並べ替えず、それでも
順序は指定通りにするのは、「論理的な」ソートと言う訳です。

ところが、上述したように、特定の順番で、早く取り出す、などの目的で、
実際にレコードをそういう順序で並べたい
ケースがあり、そういうときに、実際にレコードを
様々な、その状況にあった手段で並べ直します。
(この手段については、ソート法、アルゴリズムのお勉強をしてください。)
それが、実体を並べ直しているので、「物理」ソートと言う訳です。

ちなみに、実際に「もの」、物体としての状態を云々するとき
「物理」という表現が使われ、その実体は問わず、目的にあった
振る舞い、機能を問題にした状況で、「論理」という言葉が使われます。
抽象化されたものに関する表現ですね。


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

     11270 2005-03-26 00:32 [<hiromitsu.narimasu_] Re: selectで                            
->   11271 2005-03-26 01:51 ┗["KKuji_Y2" <kkuji@xx]