• ベストアンサー

Query Cacheとインデックスについて

Query Cacheはテーブルが更新(何かしらのデータが追加)されると有効ではないのでしょうか? 掲示板のデータがinsertされるテーブルを含むデータベースの場合、Query Cacheは無意味なのでしょうか? MySQLのインデックスを再設定したいのですがどのような手順で行うと良いでしょうか? 全てのインデックスを削除して、再度インデックスを張ればいいのでしょうか?

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

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

  • ベストアンサー
  • masa6272
  • ベストアンサー率66% (93/140)
回答No.1

これで、答えになるでしょうか? 最初の質問 更新された場合、cacheは無意味です。そうでなければ、古いデータがそのまま帰ってきてしまう可能性があります。 次の質問 不必要なインデックスを削除して、必要なものを張ればいいのではないでしょうか。全部削除する必要はないと思います。

satoabc
質問者

お礼

お礼遅れてしまいました。 どうもありがとうございました。

関連するQ&A

  • mysql_queryは最大いくつまで登録できるのでしょうか。

    いつもお世話になっております。 またまた詰まってしまいました。 mysql_query関数で、30程度のデータをひとつのレコードとしてデータベースに登録しようとしているのですが、どうしても登録に失敗してしまいます。 データベース、テーブルはphpMyAdminで作成しました。 id(auto_increment:主キー),a(varchar(20)),b(aと同様),c・・・,z(varchar(20))とします。 $sql="INSERT INTO table(a,b,・・・z) VALUES('$a','$b',・・・'$z'); mysql_query($sql,$conn); と、しています。$connには問題ありません。一応、すべて文字列を登録しようとしています。(数字もありますが、文字列としています) ためしに簡単なデータベース、テーブルを作成し、実行してみるとうまくいきました。 何が悪いのでしょうか・・・(変な質問になってしまいまして、すみません。)

    • ベストアンサー
    • PHP
  • Accessの追加クエリのエラーについて

    Accessについて教えてください。 データベースを作成しているのですが複数でデータを閲覧したり情報を入れようとするためA(データ保存ファイル)とB(メニューファイル)の2つを作成しました。Aはデータを保存するテーブルのみでBにはAのテーブルをリンクさせているものとデータを一時保存するテーブルがあります。 Bのデータ一時保存テーブルに一旦データを入れ、その後、追加クエリを実行しAのテーブルに反映させ、削除クエリで不要になったBのテーブルデータを削除していますが、追加クエリが上手く動いていないようです。 テキスト型、日付型等のフィールドは追加されるのですがメモ型フィールドに入れていたデータは削除されてAのテーブルに追加される時があります。(削除クエリはきちんと実行されています。) 私が行う限りは上記のような事象はありませんが、すでに何件か発生しているようです。 その時に表示されるメッセージは『???に失敗しました』と出ていたそうです。 何か思い当たる原因をご存知の方がいっらしゃいましたら教えてください。(上手く説明できてなくて申し訳ありません。) ちなみにAはNWサーバー、Bはローカルサーバーに保存しています。

  • Accessで作ったクエリーを使ってさらに更新する方法

    Access97のクエリーを使ってデータの抽出や更新を行なっています。Accessでは作成したクエリーを使ってさらにクエリーを作れると思うのですが、うまくいきません。 内容は以下のとおりです。 (1)ある条件で「抽出クエリー1」を作る (2)別の「テーブル」と「抽出クエリー1」をキーマッチングさせ、マッチしたものだけ「テーブル」を更新させたい。 やりたいことは単純なのですが、これを行なうと 「更新可能なクエリーでなくてはいけません」とメッセージが出てしまい、更新できません。作ったクエリーがいけないのかと思い、一度エクセルにエクスポートし、再度アクセスにテーブルとしてインポートするとうまくいきました。ですが、こんな面倒な方法はやってられません。 作ったクエリーを再び別のクエリーで使う為にはどうしたらよいのでしょうか? ちなみに、選択クエリーや追加クエリーではこのようなことが起こったことはありません。 アクセスに詳しい方、どうかよろしくお願いします。

  • 追加クエリの遅さを解消したいです。

    外部データベースのデータをAccessのテーブルとして取り込んでから、作業するシステムを作成しています。 日々新規のデータが追加されていく外部データベースの、新規データのみを追加していく追加クエリを作成したのですが、とにかく遅いのです! データは6万件ほどあります。けれど、新規に追加したいデータは、日々30件ほどです。 この遅さを解消する方法はありませんか? 良いアドバイスがありましたら教えて下さい。

  • 選択クエリの結果を反映させる

    Access2013です。 伝票番号を自動採番したいのですが、下記の条件からできないでしょうか? Data部とアプリ部でデータベースを分割しています。 Data部データベース:受注テーブル(伝票番号、明細番号・・・) アプリ部データベース:受注_tmpテーブル(構造はData部データベースの受注テーブルと同じ) アプリ部データベースに受注テーブルをリンクしています。 受注テーブルの伝票番号の最大値にプラス1した結果を受注_tmpの伝票番号にセットして 追加クエリでリンク元の受注テーブルを更新したいです。 受注テーブルをクエリ処理した結果(最大伝票番号+1)を受注_tmpにセットして更新し ようとしたりしてますが、エラーでできません。 回答に不足している項目があるかもしれませんが、よろしくお願いします。

  • アクセス インデックスを「はい」 早くなる?

    テーブルのデータが30万近くあるのですが、 テーブルデザインにおいて 出来るだけ多くのフィールドのインデックスを「はい」にしたら、 検索が早くなる効果はありますか? やみくもにインデックスを「はい」にしても、意味はないですか? 目的は検索やクエリの表示を早くすることです。 アクセス2010です。

  • テーブル作成クエリとデータベースの分割

    当方、Accessは全くの素人ですが、急遽Accessにて連絡先台帳を 作ることとなりました。 参考書を片手に、なんとかそれ相応のものになってきましたが、 表題部分にて四苦八苦しております。 どうぞ、ご教授のほどよろしくお願いします。 まず、連絡先テーブルを作成しました。 この中には個人名、会社名、住所などを入力するようにしました。 会社名の中には複数のレコードがあるため、個人向けではなく、会社向けの 送付用のラベルを作成したいと思い、テーブル作成クエリを用いて 会社テーブルを作成しました。 上記テーブルから、ラベル作成までは何とかできるようになりましたが、 複数のユーザーがこのデータベースを使うため、データベースの分割をし 運用したいのです。 また、この会社テーブルを別のデータベースでも使用したいと思っております。 ツールを用いて、データベースの分割はできましたが、新たな連絡先が 追加されたときなど、再度テーブル作成クエリを実行してしまうと、リンクが 外れてしまいます。 外部データからリンクテーブルを作りなおすと、以前のデータのままなので、 分割したデータベースを更新しなければならないことはわかりましたが、 その方法が全くわかりません。 できれば、更新ボタンを押した際に、 テーブル作成クエリを起動して、テーブルを作成し、分割したデータベースを 更新させたいのですが、何か良い方法はございませんでしょうか? 他の方法でも全く問題ありません。 VBAやマクロでも構いません。 ただ、VBAもマクロも殆どわかりませんので、できればコード等を記載して いただけると助かります。 Access2007を用いております。 どうぞよろしくお願いします。

  • phpMyAdminでのフィールド削除(クエリ実行)

    本当にMySQL初心者なので基本的にコマンドが理解できないのですが、phpMyAdminにてデータベースを管理していますが、一つのテーブルに数千のデータが入っており、例えばID番号1から500までを一気に削除したいと言うときに、最初はローカルにCSVデータをエキスポートして編集した後インポートさせようとしたのですが、文字コードの関係でエラーになってしまい、解決策はクエリでデータを削除するしかないとの結論になりました。 例えばテーブルを指定してからクエリのウィンドウを開くとSELECT * FROM `テーブル名` WHERE 1 とすでに入力されているのですが、これをどのように書き換えれば複数のフィールドをいっぺんに削除できるのでしょうか? 非常に困ってます、アドバイスよろしくお願いします

    • ベストアンサー
    • MySQL
  • SQLクエリでデータベースが壊れる?

    AccessアプリでSQL Serverデータベースを更新しています。 データベースをODBCデータソースとして登録して、AccessdeそのODBCデータソースへのリンクテーブルを作っています。 データベースが何回か壊れたのですが、AccessVBAから発行したリンクテーブルへのSQLクエリでデータベースが壊れるようなことはあるんでしょうか? あるとしたら、そのクエリを発行すると必ず壊れると思うんですが・・・。 同じAccessアプリを使っても、データベースが壊れない環境もありますし・・・。 データベースが壊れた原因がわからなくて困っています。 Windows 7、SQL Server 2008 R2 Express です。

  • Accessの削除クエリについて

    Access2000でODBCを使ってMySQLへリンクテーブルを作成しています。 このテーブルを元に削除クエリを作成し、実行すると DATA 800件で約3分程度かかってしまいます。 ネットで色々調べてみたのですが、 高速化の記事を見つけることができません。 クエリのプロパティでトランザクションの使用を"いいえ"に変えて みたりしましたが全く効果がありません。 削除クエリを高速化するには、どうしたら良いのでしょうか?