Max_connectionsとクエリキャッシュ

このQ&Aのポイント
  • Max_connectionsとクエリキャッシュについて考える
  • クエリキャッシュをONにすることで同時接続数を制限する方法
  • クエリキャッシュ参照のユーザーは同時接続数に含まれるのか
回答を見る
  • ベストアンサー

Max_connectionsとクエリキャッシュ

全てが「SQLの計算結果の吐き出しで出来てい.るホームページ」を作成しています。 全てのページがSQLで出来ていますので、ページをユーザーが表示するたびにクエリが実行される=データベースに接続されますが、その場合、Max_connectionsに関係してくることになり、、Max_connections以上の同時接続が合った場合、吐き出しを止めることになります。 この対策として、クエリキャッシュをONにしておくことを考えました。 ここからが質問です。 これにより、一度表示されたページ(クエリの計算結果)はキャッシュとして保持されることになります。 この一度表示されたページを照会したユーザー(クエリキャッシュにあるページを照会したユーザー)は、下記のいずれにあたりますか? ●クエリキャッシュを見に行くだけなので同時接続数(Max_connections)にカウントされない。 ●クエリキャッシュ参照のユーザーも同時接続数にカウントされてしまう。 WEBで調べると同時接続400件あたりがチューニングの限界ということなので、気になっています。 よろしくお願いいたします。

  • MySQL
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

クエリキャッシュ を見に行く際にも接続は行われます。ですので同時接続数の制限にひっかかります。 APサーバーをどのように構築しようとしているのか分からないのですが、通常はコネクションプーリングを用いて過剰な接続を抑えると思います。

tajix14
質問者

お礼

nora1962様 いつもご回答有難うございます。 やはり同時接続制限にひっかかるのですね。MySQLを使ったサイトがスレーブサーバーを多数用意している理由がわかりました。 また、コネクションプーリングというものがあることは知りませんでした。 これから勉強してみます。 どうも有難うございました。

関連するQ&A

  • Accessのクエリ

    Accessのクエリを作成しました。 クエリの結果例    日付        品物  2011/10/1   リンゴ 2011/10/3   みかん 2011/10/4   リンゴ 2011/10/5   バナナ 2011/10/6   みかん        ・        ・        ・ この結果をもとに、各品物のカウント数を計算したいのですが クエリ等どう使うと可能になるでしょうか。 Excelは出来る限り使いたくありません。 Access入門者ですので、可能な限り分かりやすくお願いします。

  • ACCESS クエリで、グループ化したものをカウントしたい

    SQLでなくクエリで、グループ化したものをカウントしたいのですが、クエリを2個作ればよいのはわかるのですが、これを1つのクエリで作るのは可能でしょうか? 現状: クエリ1 グループ化 クエリ2 クエリ1の結果をカウント あまりにクエリを作り過ぎる為、今後の向上の為にと思い、質問します。 よろしくお願いします。

  • EZweb用のページで、キャッシュさせない方法を教えて下さい。

    2つ前の質問の続きですが、やはりどうもキャッシュされてしまっているように思えます。 このため、imageタグで呼び出しているカウンタのcgiが呼ばれず、カウントアップされていない様に思えます。 一応、ページをXHTMLで構成しているつもりなので、下記の2つのタグをどちらか、または両方付けて試してみたのですが、やはりキャッシュされてしまっている様で、カウンタcgiの出力を無くしてしまっても、前回表示されたカウントで表示されてしまいます。 <meta http-equiv=\"cache-control" content=\"max-age=0" /> <meta http-equiv=\"cache-control" content=\"no-cache" /> 何か良い方法をご存知の方、教えて下さい。 よろしくお願いします。

    • 締切済み
    • CSS
  • SQLのクエリで教えてほしいです。

    SQLのクエリで教えてほしいです。 ある列のTOP10を出してグラフを作成したいと考えております。 また、そのTOP10の行をカウントして何件あるかを知りたいのですが なかなか思うように動きません。 以下クエリを作ったのですが、結果に16行の結果(Top16?) になってしまいます。 また、一つのSQLで、Countも含めたいと思ってますが、こういった場合 はどこに記述すればいいのでしょうか。 select TOP (10) Percent hoge from hogehoge group by hoge order by hoge ご存知の方、よろしくお願い致します。

  • mysql_queryが動かなくて困っています

    こんにちは、Web上のphpのページを見ながら学習している者です。 早速躓いてしまっていまして、どなたか添削していただければと思います。 下のようなスクリプトを組んだのですが、接続は成功するのですが 問い合わせのほうがうまくいかず、クエリの送信に失敗しました。になります mysql_query文の各パラメーターはphpMyAdminの画面からカットアンドペーストしたもので、タイプミスや大文字小文字のミスは無いはずなのですが… どうかよろしくお願いします >><?php >>   $url = "11111.jp"; >>   $user = "+++++"; >>   $pass = "*****"; >>   $db = "dbname"; >>   // データベースへ接続("サーバ名","ユーザ名","接続用パスワード") >>   $link = mysql_connect($url,$user,$pass)or die("MySQLへの接続に失敗しました。"); >>   $sdb = mysql_select_db($db)or die("データベースの選択に失敗しました。"); >>   // 問合せ処理 >>   $query = "select 名称 from tablename where ID=1"; >>   $result = mysql_query($query)or die("クエリの送信に失敗しました。<br />SQL:".$sql);

    • ベストアンサー
    • PHP
  • 個数をクエリで求めたい

    記号番号 A  1 A  1 A  2 B  2 というテーブルがあるのですが、 これを クエリで 記号  番号 個数 A      1    2 A     2    1 B     2    1 という結果を出すにはどのようなSQL文を作ればよいでしょうか? SELECT Count([テーブル1].記号) AS 記号のカウント, Count([テーブル1].番号) AS 番号のカウント FROM テーブル1; これだと、 記号のカウント 番号のカウント 4            4 という結果になります。

  • キャッシュを無効にする方法は?

    クエリアナライザで同じSQLを2度実行すると2度目は キャッシュされた内容が表示されるようで素早く 出てきますが、開発時はキャッシュが無いほうが 実際の集計時間がわかって良いです。 キャッシュを無効にする方法はありますか?

  • Accessのクエリ(テーブルの結合)

    Accessのクエリで以下のようなものを作成したいのですが、SQL文がわかりません。 ↓ tblA,tblB,tblC はそれぞれ同じ項目(AAA,Cnt(AAAの値別カウント数)、日付)を持っています。 tblA,tblB,tblC を全部結合して、日付、AAAでグルーピングしたカウントを取りたいのですが、 どのようなクエリ文になるのでしょうか? また、Oracleでいうunion all関数はないのですか? よろしくお願いします。

  • クエリの結果を重複数順に並び替えたい

    クエリの結果を重複数順に並び替えたいのですが、どうしたらよいでしょうか。 〇〇フィールドに重複した値が複数あるのですが、これを重複した数の多い順番に並べたいです。 重複クエリでは単に重複結果が並んだだけでしたが、これを重複数順に並び替えることはできるのでしょうか。 またクエリの集計機能で〇〇の重複数を出すことはできたのですが、できたのは数のカウントだけでした。 重複数順に、重複したものを並べるにはどうしたらよいでしょうか。 ご回答宜しくお願い致します。

  • テキストボックスに、クエリの集計カウント数を表示

    Access2019 クエリの商品毎の集計カウントをテキストボックスに、表示させよう取り組んでいますが表示出来る迄至っていません。 クエリ名:3_商品_全集計カウント クエリのフィールド:商品名 , 商品名のカウント 例> りんご 20 みかん 100 りんごのカウント数が表示するテキストボックスに、20が表示する様にしたいです。 テキストボックスは、それぞれ商品毎のテキストボックスをフォームに設けて、テキストボックスのコントロールソースに以下の関数を組んで結果は #Name? です。 DLookup("商品名のカウント", "3_商品_全集計カウント", "商品名 = '" & りんご & "'") ご教授頂けたら幸いです。 以上、宜しくお願い致します。