mysqlのクエリとPHPのループ検索ではどちらが低負荷か。
ウェブサービスをphp+mysqlで作成しています。
例えばユニークなidが1,000件ほど登録されているテーブルがあり、
最新状態の全レコードをPHPの配列変数$aryに保持しているとします。
そのテーブルの中に、ある1つのidが「存在する/しない=true/false」と判断したい場合に、
1.PHPからPDOでmysqlに接続して、select文の実行結果から判断する
2.配列変数$aryをforeach文で回して、ある1つのidが見つかったらフラグonしてbreakする
のどちらが低負荷になるのでしょうか。
あるいは気にするほどの差はないのでしょうか。
私は負荷低減のためにはmysqlに接続する機会は少ない方が良い(2.が望ましい)と思うのですが、
2.ではfalseのケースだと必ず全レコード数分ループするのでそれはそれで負荷がかかるのかなあと思います。
サーバの処理速度やテーブルのサイズで結果は変わるとは思いますが、
一般論としてどちらが低負荷かご教示いただきたいです。よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/11 19:04
2017/08/11 19:09
2017/08/11 19:24 編集
2017/08/11 19:30
2017/08/11 19:35
2017/08/12 05:19
2017/08/12 05:38
2017/08/12 05:48
2017/08/14 04:21 編集
2017/08/14 08:29