inosisibeyan's diary

inosisibeyanの日常をカキコ

久々に回答

得意なデータベースの質問が有ったので、答えてみた。

MySQLのクエリについて 以下のようなテーブルがあります。 aaa,str1 aaa,str2 bbb,str..

2番目の回答になったが、回答の文字数が少ないのに貰ったポイントは1番目と同じだった。コスパが良かったのが嬉しい。

 

データベースは、基本が分かるとそれほど複雑なSQLを用意しなくても使いこなせる物だ。

SQLのネストをさせるのは、私にとっては思いつきでやるぐらい。高速化を求めるならば、SQLを分けるなり正規化するなりデータ総量を減らすなりすると良いようだ。

 

複雑なSQLが書けるようになってくると、技を使いたくなるものだが単純なSQLとどれだけ速度的にメリットが出るか比較すると、複雑な物では高速化は当然ながら難易度が高くなるものだ。

自分の経験則で、一番凝ってSQLを書いていた頃にはPCの性能は置いといて、反応が1秒を越すと、指数的に速度が遅くなってしまっていた。それで、1秒以内で反応があるSQLのみを残すように努力した。

無理くりにやったものでは、普通はSQL文に条件値を入れるパターンを、条件値もテーブルにしてしまって、SQL文で使うようにしたというやつ。

たった1行1桁のデータだったが、なぜか数倍は速く動いてくれた。

色々な種類のデータベースを使ったが、結局はアクセスを使うのがメインになってしまっている。

高速化と相反するはずの集合クエリーの簡易化が、アクセスだけはなぜか高速に動いているからだ。同じか、より高速に集合クエリーを高速で動かせるデータベースを覚えたなら、当然の変更になるだろうが今は集合クエリーの高速な物は試した事がないのだ。

一言で高速と言っても、その反応及び作成と言う意味でだ。

アクセスは、侮れないアプリケーションだ。

 

釣りの世界では、鮒に始まって鮒に終わるって言葉もあるぐらい。

ここで大喜利だぬ。

「アクセスと掛けて、鮒と解く。」

「その心は、その道を極めて行くと、結局そこに落ち着く。」

私は、結構アクセスを気に入っているだぬ。