mongoで日付による検索クエリを最適化する方法

Dewsworld

私は60万のドキュメントを含むコレクションを持っています。ほとんどのドキュメントは次のように構成されています。

{
    "_id" : ObjectId("53d86ef920ba274d5e4c8683"),
    "checksum" : "2856caa9490e5c92aedde91330964488",
    "content" : "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"bn-bd\" lang=\"bn-bd\" dir=\"ltr\" " />\n  <link rel=\"stylesheet\" href=\"/templates/beez_20/css/position.css\" type=\"text/css\" media=\"screen,projection\ef=\"/index.php/bn/contact-bangla/2013-0</body>\r\n</html>",
    "date" : ISODate("2014-07-29T15:57:11.886Z"),
    "filtered_content" : "",
    "indexed" : true,
    "category": 'raw',
    "link_extracted" : 1,
    "parsed" : true,
    "title" : "Constituency 249_10th_En",
    "url" : "http://www.somesite.com.bd/index.php/bn/bangla/2014-03-23-11-45-04?layout=edit&id=2143"
}

すべてのドキュメントには、日付属性があります。以下のクエリを作成すると、結果を表示するのに無期限の遅延が発生します。

from pymongo import Connection
import datetime

con = Connection()
db = con.spider
pages = db.pages

today = datetime.datetime.combine( datetime.date.today(), datetime.datetime.min.time() )

c = pages.find({ u'category': 'news', u'date': {u'$gt': today } }, {u'title': 1, '_id': 0} )

for item in c:
    print item

インデックスは、

_id, url, parsed

このクエリのパフォーマンスを許容可能な時間に制限して改善するにはどうすればよいですか?確かな答え、提案は大歓迎です!

hughdbrown

それは上のインデックスを追加するように見えるcategorydate役立つだろう。

pages.createIndex({'date': 1, 'category': 1});

pymongoでは、インデックスの作成は次のようになります。

keys = [
    ("date", pymongo.ASCENDING),
    ("category", pymongo.ASCENDING)
]
pages.create_index(keys)

あなたが興味を持っている可能性が最も高いオプションは次のとおりです。

name: custom name to use for this index - if none is given, a name will be generated
unique: if True creates a unique constraint on the index

ただし、日付/カテゴリが一意になるとは思いません。インデックスに名前を付けるのは良い習慣のようです。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

日付を検索する非常に頻繁に使用されるクエリの最適化

分類Dev

Postgresで部分文字列検索のクエリを最適化する方法は?

分類Dev

日付フィールドでSQLクエリを最適化する方法

分類Dev

サブリンクを取得するためにエンジン最適化(SEO)を検索する方法は?

分類Dev

Firestoreで日付によるクエリを適切に実行する方法は?

分類Dev

テキストを検索するクエリの最適化

分類Dev

MySQL検索クエリを最適化する

分類Dev

mongodbでクエリを適切に最適化する方法は?

分類Dev

複数の検索条件に対する検索クエリの最適化

分類Dev

Mongodb、クエリ検索に最適にする方法は?

分類Dev

このようにクエリを最適化する方法

分類Dev

特定の日付の後に最も近い空き時間を見つけるためのSQLクエリがあります。この日付より前の日付も検索するようにするにはどうすればよいですか?

分類Dev

日付値に依存するこのJOINクエリを最適化するにはどうすればよいですか?

分類Dev

日付範囲に属するレコードを返さないアクティブレコードクエリの下で最適化する方法

分類Dev

symfony(mysql)でLIKEなどの検索クエリを最適化するにはどうすればよいですか?

分類Dev

これらのクエリを日付範囲で最適化するにはどうすればよいですか?

分類Dev

日付間のデータを検索するためのMongoクエリの記述方法

分類Dev

SQLクエリをより適切に最適化する方法は?

分類Dev

groupbyおよびorderbyに関連するクエリを最適化する方法

分類Dev

計算列による順序付けでSQLiteクエリを最適化しますか?

分類Dev

カテゴリで検索するときに結合を最適化する方法

分類Dev

検索アルゴリズムを最適化する方法

分類Dev

Rでストリークの最初と最後の日付を検索する

分類Dev

SQLクエリを最適な方法で暗号化する方法は?

分類Dev

バイナリ検索を最適化するにはどうすればよいですか?

分類Dev

ビッグテキストに対するPGSQLSQL検索クエリの最適化(「like」、全文検索、...)

分類Dev

いくつかの日付範囲に基づいてクエリ選択を最適化する

分類Dev

mysqlクエリに従う方法を最適化する

分類Dev

複数選択でSQLクエリを最適化する方法

Related 関連記事

  1. 1

    日付を検索する非常に頻繁に使用されるクエリの最適化

  2. 2

    Postgresで部分文字列検索のクエリを最適化する方法は?

  3. 3

    日付フィールドでSQLクエリを最適化する方法

  4. 4

    サブリンクを取得するためにエンジン最適化(SEO)を検索する方法は?

  5. 5

    Firestoreで日付によるクエリを適切に実行する方法は?

  6. 6

    テキストを検索するクエリの最適化

  7. 7

    MySQL検索クエリを最適化する

  8. 8

    mongodbでクエリを適切に最適化する方法は?

  9. 9

    複数の検索条件に対する検索クエリの最適化

  10. 10

    Mongodb、クエリ検索に最適にする方法は?

  11. 11

    このようにクエリを最適化する方法

  12. 12

    特定の日付の後に最も近い空き時間を見つけるためのSQLクエリがあります。この日付より前の日付も検索するようにするにはどうすればよいですか?

  13. 13

    日付値に依存するこのJOINクエリを最適化するにはどうすればよいですか?

  14. 14

    日付範囲に属するレコードを返さないアクティブレコードクエリの下で最適化する方法

  15. 15

    symfony(mysql)でLIKEなどの検索クエリを最適化するにはどうすればよいですか?

  16. 16

    これらのクエリを日付範囲で最適化するにはどうすればよいですか?

  17. 17

    日付間のデータを検索するためのMongoクエリの記述方法

  18. 18

    SQLクエリをより適切に最適化する方法は?

  19. 19

    groupbyおよびorderbyに関連するクエリを最適化する方法

  20. 20

    計算列による順序付けでSQLiteクエリを最適化しますか?

  21. 21

    カテゴリで検索するときに結合を最適化する方法

  22. 22

    検索アルゴリズムを最適化する方法

  23. 23

    Rでストリークの最初と最後の日付を検索する

  24. 24

    SQLクエリを最適な方法で暗号化する方法は?

  25. 25

    バイナリ検索を最適化するにはどうすればよいですか?

  26. 26

    ビッグテキストに対するPGSQLSQL検索クエリの最適化(「like」、全文検索、...)

  27. 27

    いくつかの日付範囲に基づいてクエリ選択を最適化する

  28. 28

    mysqlクエリに従う方法を最適化する

  29. 29

    複数選択でSQLクエリを最適化する方法

ホットタグ

アーカイブ