Couchbase 5.5:meta.idに「\\」を入れると検索が速くなるのはなぜですか?

ミカ・ピアス

カウチベース5.5N1Ql

サンドボックスcouchbaseデータベースに150kのドキュメントがあり、ドキュメント名は次の形式です。

alpha_model::XXXXXXX::version

このコマンドを実行すると:

SELECT META().id FROM Q1036628 WHERE META().id LIKE "alpha_model::100004993::%" LIMIT 10;

結果数:5。経過時間は 1.13s

ただし、「_」の前に「\」を追加すると、パフォーマンスが大幅に向上します。

SELECT META().id FROM Q1036628 WHERE META().id LIKE "alpha\\_model::100004993::%" LIMIT 10;

結果数:5。経過時間は 8.16ms

2番目の方法が100倍以上速いのはなぜですか?アンダースコアは悪いですか?パフォーマンスを向上させるためにエスケープする必要がある他のキャラクターはありますか

vsr

_は、その場所の任意の文字に一致するワイルドカードです。正確に検索したい場合は、それをエスケープする必要があります。https://docs.couchbase.com/server/6.0/n1ql/n1ql-language-reference/comparisonops.htmlでLIKEをチェックアウトします。

結果が同じであるため、その場所に他のキャラクターがいない可能性があります。_に他の文字がある場合、結果は異なります。

IndexScanはワイルドカードでは実行できないため、IndexScanは最初のワイルドカードまでプレフィックス文字列で実行されます。これが、エスケープ文字IndexScanがより多くの結果を生成し、時間がかかることのない理由です。_をエスケープすると、ワイルドカード文字は%から始まります。

EXPLAINを実行し、スパンをチェックアウトして、正確性と最適化を確認します。

チェックアウトページ152、述語がIndexScanスパンに変換される方法https://blog.couchbase.com/wp-content/uploads/2017/10/N1QL-A-Practical-Guide-2nd-Edition.pdfチェックアウトページ341を使用してクエリを最適化するプロファイリングを要求します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

xorps命令を追加すると、cvtsi2ssを使用してこの関数が作成され、追加が最大5倍速くなるのはなぜですか?

分類Dev

Allegro 5マップエディタが非常に遅いのはなぜですか?それを速くするために何を変更できますか?

分類Dev

Couchbase5バケットのパスワード設定

分類Dev

複数の空のパンダシリーズをhdf5に入れると、hdf5のサイズが非常に大きくなるのはなぜですか?

分類Dev

0.-5が-5と評価されるのはなぜですか?

分類Dev

列が5つを超えると、Google Sheets Crud /検索フォームが機能しないのはなぜですか?

分類Dev

Openlayers v5をAngular(6)に追加すると、SPAのダウンロードがはるかに大きくなるのはなぜですか?

分類Dev

12個ではなく5個のCPUを使用すると、Pythonスクリプトの実行速度が大幅に向上するのはなぜですか?

分類Dev

MD5ハッシュを使用したダウンロードの検証が安全でないと見なされるのはなぜですか?

分類Dev

ネストされた関数の外部でカウンター変数を宣言すると、ループが5倍遅くなるのはなぜですか?

分類Dev

Rubyでは「a、b = 5」という式でaが5に設定されているのに、bがnilに設定されているのはなぜですか。

分類Dev

なぜhtml5が必然的に使われるのですか?

分類Dev

stdアトミックがスタックに5を挿入するのはなぜですか

分類Dev

Spring 5 webfluxにHandlerFunctionsがあるのはなぜですか?

分類Dev

これらの5(6?)文字が「安全でない」HTML文字と見なされるのはなぜですか?

分類Dev

このコードが5ではなく6を出力するのはなぜですか?

分類Dev

なぜ5〜8分ごとにバックグラウンドでビーコンが検出されるのでしょうか。ビーコンの検出が15〜30分後に停止するのはなぜですか?回答済み

分類Dev

クラス番号が抽象的である場合、なぜ私は番号n = 5を書くことを許可されているのですか?

分類Dev

Rails 5がActiveRecord :: BaseではなくApplicationRecordを使用するのはなぜですか?

分類Dev

Rails 5がActiveRecord :: BaseではなくApplicationRecordを使用するのはなぜですか?

分類Dev

関数がi:5ではなくi:6を出力するのはなぜですか

分類Dev

CreateAsync(user、password)が失敗することがあるのはなぜですか?(ID v2 MVC5)

分類Dev

64ビット5siPhoneにインストールするとアプリが動かなくなるのはなぜですか

分類Dev

スクリプトにPHP7ではなくPHP5を使用するのはなぜですか

分類Dev

PIGZが異なるmd5sumを生成するのはなぜですか

分類Dev

Eclipseがworkbench.xmiファイルを5分ごとに更新するのはなぜですか?

分類Dev

Midnight Commanderでchmodが5桁になっているのはなぜですか?

分類Dev

USB が 20Gbps ではなく 5Gbps または 10Gbps のみで最も一般的に実装されるのはなぜですか?

分類Dev

Cで記述されたこのプログラムが、入力と一部の配列を比較するときに5の値を返さないのはなぜですか?

Related 関連記事

  1. 1

    xorps命令を追加すると、cvtsi2ssを使用してこの関数が作成され、追加が最大5倍速くなるのはなぜですか?

  2. 2

    Allegro 5マップエディタが非常に遅いのはなぜですか?それを速くするために何を変更できますか?

  3. 3

    Couchbase5バケットのパスワード設定

  4. 4

    複数の空のパンダシリーズをhdf5に入れると、hdf5のサイズが非常に大きくなるのはなぜですか?

  5. 5

    0.-5が-5と評価されるのはなぜですか?

  6. 6

    列が5つを超えると、Google Sheets Crud /検索フォームが機能しないのはなぜですか?

  7. 7

    Openlayers v5をAngular(6)に追加すると、SPAのダウンロードがはるかに大きくなるのはなぜですか?

  8. 8

    12個ではなく5個のCPUを使用すると、Pythonスクリプトの実行速度が大幅に向上するのはなぜですか?

  9. 9

    MD5ハッシュを使用したダウンロードの検証が安全でないと見なされるのはなぜですか?

  10. 10

    ネストされた関数の外部でカウンター変数を宣言すると、ループが5倍遅くなるのはなぜですか?

  11. 11

    Rubyでは「a、b = 5」という式でaが5に設定されているのに、bがnilに設定されているのはなぜですか。

  12. 12

    なぜhtml5が必然的に使われるのですか?

  13. 13

    stdアトミックがスタックに5を挿入するのはなぜですか

  14. 14

    Spring 5 webfluxにHandlerFunctionsがあるのはなぜですか?

  15. 15

    これらの5(6?)文字が「安全でない」HTML文字と見なされるのはなぜですか?

  16. 16

    このコードが5ではなく6を出力するのはなぜですか?

  17. 17

    なぜ5〜8分ごとにバックグラウンドでビーコンが検出されるのでしょうか。ビーコンの検出が15〜30分後に停止するのはなぜですか?回答済み

  18. 18

    クラス番号が抽象的である場合、なぜ私は番号n = 5を書くことを許可されているのですか?

  19. 19

    Rails 5がActiveRecord :: BaseではなくApplicationRecordを使用するのはなぜですか?

  20. 20

    Rails 5がActiveRecord :: BaseではなくApplicationRecordを使用するのはなぜですか?

  21. 21

    関数がi:5ではなくi:6を出力するのはなぜですか

  22. 22

    CreateAsync(user、password)が失敗することがあるのはなぜですか?(ID v2 MVC5)

  23. 23

    64ビット5siPhoneにインストールするとアプリが動かなくなるのはなぜですか

  24. 24

    スクリプトにPHP7ではなくPHP5を使用するのはなぜですか

  25. 25

    PIGZが異なるmd5sumを生成するのはなぜですか

  26. 26

    Eclipseがworkbench.xmiファイルを5分ごとに更新するのはなぜですか?

  27. 27

    Midnight Commanderでchmodが5桁になっているのはなぜですか?

  28. 28

    USB が 20Gbps ではなく 5Gbps または 10Gbps のみで最も一般的に実装されるのはなぜですか?

  29. 29

    Cで記述されたこのプログラムが、入力と一部の配列を比較するときに5の値を返さないのはなぜですか?

ホットタグ

アーカイブ