PHPで作ったプログラムのレスポンスが遅いと言われたのですが
検索のSQLの実行に時間がかかっているようです。
クエリを見直さなければいけないとは思うのですが
何か効率の良いやり方はないでしょうか。
使っているDBはMySQLです。

回答1件
あなたの回答
tips
プレビュー
MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。
SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます
MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。
SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます
0グッド
1クリップ
投稿2014/06/15 10:43
PHPで作ったプログラムのレスポンスが遅いと言われたのですが
検索のSQLの実行に時間がかかっているようです。
クエリを見直さなければいけないとは思うのですが
何か効率の良いやり方はないでしょうか。
使っているDBはMySQLです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
selectの実行が遅い場合
mysqlならexplainを使って確認してみる方法があります。
実行しているSQLの前に、EXPLAIN を付けて実行してみてください
例)
mysql> explain select * from hogehoge
実行結果の中に tableとtype と言う物が表示されると思います。
その中で type の部分が ALL となっている場合は、
テーブルフルスキャンを行っているのでチューニング対象になります。
該当しているテーブルの検索条件を絞り込んだりインデックスを張る等
の見直しを行っていくとレスポンスが改善されると思います。
また、index と表示されている場合も、インデックスをフルスキャンしてますので注意してください。
EXPLAINのリファレンスについては、以下になります。
http://dev.mysql.com/doc/refman/5.1/ja/explain.html
その他ですと、スロークエリで実行時間を確認する場合もありますので
以下を参考にしてみてください。
http://dev.mysql.com/doc/refman/5.1/ja/slow-query-log.html
投稿2014/06/25 06:54
総合スコア118
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。