最大長が 64 バイトの文字列を格納するために使用される 2 つのバイナリ列と 2 つの整数列を含むテーブルがあります。このテーブルには 1,000 万以上の行があり、7 GB の使用可能なメモリのうち 2 GB のメモリを使用しているため、使用可能なメモリが十分に残っています。また、 http://docs.memsql.com/latest/setup/best_practices/に基づいて MemSQL を構成しました。
バイナリ列が特定の値と比較される単純な選択 SQL の場合、MemSQL は SQL Server よりも約 3 倍高速であるため、MemSQL を使用する構成やハードウェアなどの問題を除外できます。
を使用する複雑な SQL の場合
- Select 句の部分文字列操作と
- where句での部分文字列と長さの操作
MemSQL は、SQL Server よりも約 10 倍遅くなります。MemSQL でのこれらの SQL の測定されたパフォーマンスは、SQL コンパイル時間が含まれていないことを確認するために、最初の数回の実行後に取得されました。MemSQL のパフォーマンスの問題は、バイナリ列と部分文字列および文字列の長さの操作を処理する方法に関係しているようです。
MemSQL で同様のパフォーマンスの問題を見た人はいますか? ある場合、列の型と SQL 操作は何でしたか?
varchar 列の部分文字列と長さの操作について、MemSQL で同様のパフォーマンスの問題を見た人はいますか?
ありがとう。
マイケル、