• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQLのチューニングについて)

MySQLのチューニングについて

このQ&Aのポイント
  • SQLの実行速度を正確に知る方法とは?
  • SQLの叩かれる回数が多い場合にレスポンスが遅くなる対策は?
  • 単体でのSQL実行速度を計測する方法とは?

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

そもそもキャッシュも含めてSQLの性能かと思います、むしろキャッシュのない SQLなんて実際の運用とかけ離れていて計測の意味がないかと。 どうしてもキャッシュをはずしたいならSQL実行前に MySQLのサービスを再起動してしてみるとよいでしょう また」キャッシュも含めて良いなら、数回~数十回SQLを走らせて 平均をとるなどで実際の運用速度を計測するのが妥当です >SQLが短時間に大量に どんなタスクでも大量に処理すれば負荷があがるのはどうしようもないかと とはいえ、よく使われる集計項目にあわせた中間テーブルをつくっておけば むだな集計が省くことができたりします たとえば特定の粗データを日次データや月次データに集計すれば 効率としては何十~何百分の一にすることもできます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

1についてです クエリキャッシュを0にしてみたらどうでしょう 2についてです 更新の少ないテーブルならばオンメモリ化してしまうのも手です

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • SQLServerのチューニングについて

    「SQLのチューニング」経験があるかどうかを時々聞かれます。 これは具体的にはどういうことをした場合に、経験があるといってよいのでしょうか? たとえば SQLServerの実行計画?(フローみたいなものが表示される)を利用して 「SQL実行時に、このテーブルの検索に負荷が多くかかっているから、 そのテーブルの検索条件や、結合条件、構造を変更する」 みたいな事はしたことはあります。 自分のイメージだと、もっと他に複雑なツールみたいなものを使用して、 具体的に何が悪いからどうするみたいなことをすることが、「SQLのチューニング」と いうイメージがありますが・・・・ ご回答のほうをよろしくお願いいたします。

  • キャッシュを使わずにSELECTを投げたい

    SELECTのSQLのパフォーマンスチューニングを行なっています。 例えば、A,B,Cと3本の候補があってA,B,Cの順に速度を見たいとき B以降はAによるキャッシュを利用して実行するはずなので、 この3つの実行速度がうまく比較できません。 (頻繁に投げられるSQLではないので、アプリ側から投げられるときは キャッシュにのっていない想定です) SQLを投げるたびに ALTER SYSTEM FLUSH BUFFER_CACHE ; でキャッシュをクリアすれば、3つを比較できるのでしょうが、 運用上の問題でそれもできません。 理想としては SELECT /*+ NOT_USE_CACHE*/ … のようにヒント句や alter sessionなどでキャッシュを使わずにSQLを投げたいのですが、 どのようにしたら実現できるでしょうか? 環境は 9iと11gの環境がありますので、 それぞれで最適な方法がございましたらご教授ください。 よろしくおねがいします。

  • MySQL3のクエリキャッシュの消去方法について

    WindowsServer2000環境でMySQL3を使っています。 クエリキャッシュはMySQL4から実装されたといわれていますが、 MySQL3でも、同じクエリを問い合わせると、明らかに2回目から高速にクエリが実行されます。 今、クエリ実行速度のテストをしており、クエリキャッシュのようなものが効いていない状況をコマンドをたたくことにより作り出したいのですが、良い方法はありませんでしょうか?(設定ファイルは変更したくないのです) なお、MySQL自体を再起動しても、どうやらキャッシュ(?)に何かが残っているようで、同じクエリに対しては高速に実行されてしまいます。 初歩的な質問で大変申し訳ございませんが、何卒ご指南いただけましたらお願いいたします。

    • ベストアンサー
    • MySQL
  • MySQLのチューニングについて

    MySQLのチューニングについて パソコンのスペック ・windows Vista Home Premium ・プロセッサ Intel(R) Core(TM)2 CPU 4300 @ 1,80GHz 900 MHz ・メモリ(RAM) 2.00 GB ・システムの種類 32ビットオペレーティングシステム XAMPP ・PHP Version 5.2.3 ・Apache 2.2.4(Win32) ・MySQL 5.0.45 phpmyadmin ・フィールドが「名前」「郵便番号」「電話番号」「住所1」「住所2」「住所3」の6つです。 種別がすべてvarchar(30)、照合順序がutf8-unicode-ci, ディスクの使用量が、データが600MB、インデックスが1000バイト。 700万行あります。今後、行数を増やす予定です。 MySQLの設定について(my.cnf) # The MySQL server [mysqld] default-character-set=utf8 skip-character-set-client-handshake basedir="C:/xampp/mysql" tmpdir="C:/xampp/tmp" datadir="C:/xampp/mysql/data" old-passwords character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 skip-locking key_buffer = 500M max_allowed_packet = 1M table_cache = 256 sort_buffer_size = 64k read_buffer_size = 256k read_rnd_buffer_size = 256k net_buthread_stack = 64k thread_stack = 64k [mysqldump] default-character-set = utf8 quick max_allowed_packet=100M [mysql] default-character = utf8 no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates [isamchk] key_buffer = 500M sort_buffer_size = 8M [myisamchk] key_buffer = 500M sort_buffer_size = 8M [mysqlhotcopy] interactive-timeout 上記のような状況です。 検索速度を速くするために、チューニングが必要だと思われますが、 どこをどう修正したらよいか教えてください。

  • チューニングでテスト環境でOKなのに本番環境で駄目です。

    こんにちは。 Oracleのチューニングについてお伺いします。 本番データをImportしてテスト環境を作成し、 SQL文を変更しての速度アップのチューニングを行っています。 テスト環境では問題なく速度向上ができましたが、 本番でやったところ思ったような速度向上ができませんでした。 実行計画を見るとやはり違っていますので、ここらへんが問題とは思いますが、原因不明のため本番でのテストも仕方なくしています。 この先PL/SQLなど複雑に呼び出している部分があり、この部分に踏み込まなければいけない状況まできていますが、本当はテスト環境で何とかしたく思っています。 そのような状況ですが、テスト環境を使っての何か良いデバック方法や対策などご存知の方いましたらご教授願いたく思っております。 Oracle8i/VB6.0環境です。

  • 【AIX】NFSが遅い場合のチューニング

    お世話になっております。 NFSの動作が非常に遅い(NFSシステム上のファイルの catや、wcによる行数カウントのレスポンスが遅い) 場合に有効なチューニングがありましたら教えて 下さい。 AIX4.3.3 ML1を使用しています。 又、マウントオプションに指定しているのは bg,hard,intr で、後はデフォルトです。 ネットワーク速度は100/Full です。 よろしくお願い致します。

  • mysql_queryの処理速度が遅い

    PHP+MySQLでプログラミングをしているのですが、実行時にmysql_queryの処理に時間がかかっています。状況は以下の通りです。 ・処理時間を計測するとmysql_queryの実行に15秒程度かかっています。 ・Webminで直接同じSQL文を実行すると1秒程度で終わります。 ・SQLのコマンドは単純なUPDATEです。 ・indexは設定してあります。 ・DBに格納してあるレコード数は数100件程度です。 ・optimizeは実行してみましたが、あまり効果はありませんでした。 お聞きしたいのはWebminで実行すると1秒程度で終わるSQL文がmysql_queryで実行すると、なぜ時間がかかるのかということです。 mysql_queryで時間がかかる原因およびmysql_queryの処理時間を短縮する方法などがあれば教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 【チューニング】インデックスとヒント句の違い

    いつもお世話になっています。 oracle9iR2を使用しています。 速度アップのためチューニングが必要なsqlが指摘されたのですが、 あるカラムにインデックスを作成すべきとの指摘がありました。 インデックスを作成するだけである程度改善される場合もあるのでしょうか? それともインデックス作成後、対象のsql/に、*+INDEX・・・ などのようにSQLにヒント句を記載してこそ効果を発揮するものなのでしょうか? 質問がまとはずれでしたら申し訳ありません。 どなたかご教授お願いします。

  • アコギのチューニングについて

    ありがちな質問かもしれませんが、ご了承ください。 私はギタリストではないのですが、YUIっぽい曲を作って欲しいという依頼を受けてアコギを購入しました。 ギターはエレキが少し経験があるのですが、ロック式トレモロブリッジ特有のチューニングのわずらわしさ、ヘマをしたときの弦切断率などから挫折した経験があります…汗 エレキの経験から教則本に乗っている初歩ぐらいなら難なくこなせるのですが、問題はチューニングです。 6弦から合わせ始めて、1弦が合うころには6弦がずれていました。 これはネックへの圧力が次第に高まり、少しずつずれてきたということなのかなと思います。 アコギ界の一般常識として、このようなことが起こるのは常識なのでしょうか? もしそうだとしたらネックへの負荷や弦が心配なのですが… もしそのようなことが当たり前に起こりうる現象だとして、その場合「こういう手順でチューニングするといいよ(音の正確さ・ネックへの負担的に)」というのがあれば教えてください。 「そんなの自分で試行錯誤しろよ」というのもわかるのですが、あいにく貧乏なのでギターを壊してしまう可能性、弦を切ってしまう可能性などを考えると、無知のままそう簡単にはいじれません。 ちなみにギターはグレッグベネットのASOMです。 (もしよければグレッグベネットというメーカーがどのようなものかについてもコメントよろしくお願いします) それではご回答どうかよろしくお願いします。

  • チューニングの基礎について教えて下さい

    vb.net+mysql(OS:WindowsXP)で趣味のコーディングをしています。 動かしているのは、毎日20時間程度かけて実行しているバッチ処理です。 各テーブルに、最大で数百万~1千数百万レコード程度を格納しています。 最近、プログラム内で、mysqlが何の例外も吐かずに止まってしまう(もしくは落ちている?)という現象が多発しています。 現象が起きるSQL文は毎日違い、同じSQLでも、値が返ってくる日と返って来ない日があります。 mysqlの全体的なチューニングが必要なのだろうと思っているのですが、 とりあえずmysqlの各種パラメータの監視をする必要があるのだろうなと思っています。 何か典型的な手法などはあるでしょうか。 (show status で返ってくる値を監視しときゃいいんだよ、とどこかで見た気がするのですが、  それってみんな自分でイチから監視プログラムをハンド作成しているのでしょうか?) よろしくお願いします。

    • ベストアンサー
    • MySQL