」ですか?ちょっ〜と待った!そんなことで納得しないでください。知っている方なら「そんな馬鹿な」と思うでしょう。処理時間に影響するはずがないと。現実は大きな差が出ました。察しのよい方はもうお気づきだと思います。msec結果は変わりません。使われていなかったのです。作成されていますから。全件サーチしていたわけです。結局使い途がありません。無駄だったと言うことです。速くしてみるまぁ、そういうもんだと諦めるものいいですが、速度向上や負荷軽減を求められる場合もあります。変更した検索専用の列を作るというのがよくある常套手段です。新しい列を作り、そちらのキーで検索するように直したプログラムを実行。msec期待通り、速くなりました。これは意味的には冗長なデータで、データの正規型を崩していますので、目的をよく考えた上で、使いましょう。キーにして検索するパターンです。複数行の結果を受け取らなくてはなりません。学名は、正規表現的には/^[A-Z][a-z]*$/です。1ワードのみからなります。和名は、種の和名と同じでカタカナが原則です。テストプログラム処理としてはみな同じような物なので、「科の学名」から検索する例で検証してみます。個別に見てもバラツキが大きく分かりにくいので、傾向を掴みやすいようにグラフ化してみました。とってプロットしています。いずれにしても差は少ないですし、諸々の条件により逆転することもあるので参考程度に見てください。この区間では負けることです。データ格納の物理構造やロジックが、何か最適化の切り替えなどやっているのでしょう。アクセスしたときだけに現れ、ネットワーク経由だと現れません。系列に変える予定でもあり、深く追求はしていません。BY"句を指定していません。BY"指定でやり直してみました。順位が逆転しちゃいました。扱いが賢くないんでしょう。健全なプログラマのためにこれぐらい、気にするほどの差ではないよ。いうのが一般的には健康だと思います。この程度でプログラムの価値は変わりません。」で済ますプログラマと、直感的に「おかしい。これは異常値だ」と思うプログラマでは、プログラマの価値としては大違いだと思います。プログラマのセンス「ソートにこれほど時間がかかるはずはない。アプリケーションプログラム側でソートした方が速いぞ。」と、直感で思ったあなた。どれぐらいの処理コストでどれほどの負荷で済むのか、ということを実感として把握できていて、プログラミング時に意識できている人です。BYを指定せずにアプリケーション側で一旦配列に格納してからその配列をソートする時間まで含めて測定してみたのが以下のグラフです。〜を使うことになります。使用されず、あまり最適化のしようもないような、なにやっても速くならないような気はします。方が常に安定して速かったです。使用されないので、4.3.4.の項で述べたあらかじめCASE変換した列を作るワザは効果がありません。しても速度が欲しい場合、今回の例に限っては、むしろフラットファイルを正規表現検索する方が速くなります。一つの手段として、頭の隅に置いておくと役に立つかもしれません。使わないアプローチというのも、面白いテーマではありますが、それはまた別の機会に。