Php MySQL でシステムを開発する時、高速化のために意識されていることがあれば教えてください
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答5件
0
ベストアンサー
こんにちは。
自分は
- SQLがきちんとインデクスを使用しているか(Tableを全スキャンしていないか)
- DBアクセス回数を最小にする(1回でまとめて値をとれないか考える)
- 条件判定を極力少なくする(同じ条件で分岐するものはなるべくまとめる)
- 関数を呼び出した結果で判定させる場合、if()内などで呼ばず一度変数に格納する(同じ処理をさせない)
を特に意識してコーディングしています。
PHPやMySQLでは開発したことないですが、たぶん全般的に言えるのではないかなと思います。
後のほうは、ちょっと細かい部分なので大差ないかもしれませんが・・・ ^^;
投稿2015/06/01 01:35
総合スコア1844
0
MySQLに限らず、RDBを使うときは、できる限りSQLで処理すること。
SQLでできることをPHP側で行うと、ほぼ遅くなりますし、【DBサーバの負荷】も高くなります。
http://d.hatena.ne.jp/Sikushima/20110809/1312871002
基本的に、PHPで処理することでDBサーバの処理を肩代わりできるのは、四則演算と最後のソートだけです。
投稿2015/06/01 00:59
総合スコア295
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
アプリが遅いときは大概クエリが問題なので、クエリに問題がないかチェックするのが最も大切だと思います。基本的なとこですが、
○select *としてないか。select c1,c2,c3とした方が速い
○explainを叩いて、indexが効いているかどうか。(フルスキャンになっていないかどうか)
○indexを貼るカラムは適切かどうか
○where句で指定しているカラムは行数が少ない方から指定しているかどうか
○APCやmemcachedをきちんと導入しているか
とかだと思います。
投稿2015/06/01 16:02
総合スコア1161
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
MySQLでSQLを実行するときには、SQL文のテーブル名やカラム名を逆クォートで囲むと早くなると最近知りました。
それくらいですかね。
もちろんインデックスとかも意識しますが・・・
投稿2015/06/01 01:33
総合スコア1698
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。