2012-02-07 3 views
0

索引検索は、最速から最速にリストされた索引検索が、100万行の表で最も遅くなると説明できますか?Mysqlの主キー検索の実行形式

度:進

度:小数

度:ユニコード文字∓∞

+3

どうぞご覧ください。 – DNA

+0

これはプライマリキーとは何が関係していますか?いずれにしても、データに最も適したフィールドタイプを使用して、問題が発生した後のパフォーマンスを心配する必要はありません。 – JohnFx

+0

メッセージのプライマリからインデックスに切り替えました。タイトルを変更するのを忘れた –

答えて

1

本のほとんどは、キーの長さによって決定されます。これが意味:

英数字キー長く続い4バイト(〜4文字)が

だから、整数/小数のキーはかなり良い実行されます(= 4バイト)の整数少ないしを行います。 Unicodeはあなたの例から最も貧弱です。

hexaDECIMALと10進数の違いは、4バイトに収まる限り、何もありません。それを超えると、パフォーマンスが低下します。

+0

15桁の218340105584896の小数点検索は、a0K4iL2Zの大文字と小文字を区別する英数字キーと比較して最も速くなり、4文字のUnicode値が最も遅くなりますか? ∞∡∜∂ –

+0

私が知っている限り、はい!しかし、これはちょっとした違いです:I/Oを待つのはずっと時間がかかります。 – RobinUS2

+0

助けてくれてありがとう –

0

これらのタイプのいずれの場合でもパフォーマンスの違いはわかりません。

他の要因(ディスクIO速度など)がより多くの時間を消費し、10進対ストリングキーを使用してbツリー検索の差異を隠すためです。