2012-03-15 8 views
0

ハイパフォーマンスMySQLブック(2004年)のクエリパフォーマンスの章では、MySQL(4.0.1)はクエリキャッシュ内の「SELECT」クエリの結果を分析または実行する前に検索しようとしていると述べています。MySQLクエリキャッシュでSELECTキーワードの大文字と小文字は区別されますか?

SELECT * FROM table1 

が、私はこれはまだMySQLの5の場合であるかどうかを知りたいのですが

select * FROM table1 

と異なっていることを意味する、MySQLはそれを受けて、正確なクエリテキストを使用するため、キャッシュは敏感です。 xとなるので、必ず 'select'の代わりに 'SELECT'と入力してください。

+2

@Everyone、この質問に彼に休憩を与えてください。はい、それはうまく構築された質問ですが、ここで初めてです。グリソン氏は、あなた自身でこれを試してみるのに5秒かかった場合、この質問は最初に存在しないだろうことは明らかです。だから、次回は尋ねる前にちょっと試してみてください。 ありがとうございます。 –

+0

他の多くの質問の横に、これは有効な質問であり、適切なタグ付きです!!!!他の多くの新しいユーザーがこれを試してみるプログラミング言語を追加していました。 – Rufinus

答えて

0

そうではありませんが、試してみるとわかります!

編集: あなたが疑問に思っている場合に備えて、次のいずれもありません。

    1. 挿入
    2. セレクト(上記)
    3. 注文
    4. 他人のどれ
    5. から!
  • +1

    明らかにそれは、あなたがそれを見た場合、あなたが知っているだろう。 @ウィリアム・ライリーの答えを見てください。 – hexparrot

    +0

    はい、 'cache'は大文字と小文字を区別しますが、大文字小文字の区別なくクエリは実行されます。あなたが知っているように、ユーザーが元の質問を更新したと思います。 –

    4

    MySQLクエリキャッシュはcase (and byte) sensitiveです。

    SELECT * FROM tbl_name 
    Select * from tbl_name 
    

    クエリは、バイトのため、全く同じ(バイトでなければなりません。次の2つのクエリは、クエリキャッシュによって異なると考えられているように、着信クエリが、解析する前に、クエリキャッシュのものと比較され

    )が同一であるとみなされる。さらに、同一のクエリ文字列は、他の理由で異なるものとして扱われることがあります。異なるデータベース、異なるプロトコルバージョン、または異なるデフォルトの文字セットを使用するクエリは、異なるクエリとみなされ、個別にキャッシュされます。

    関連する問題