У меня есть запрос, который выглядит так:
query = (models.Foo.all()
.filter('x =', x)
.filter('y =', y)
.filter('z =', z)
.filter('zz =', zz)
.order('-a'))
Он работает на локальном SDK в ~ 100 мс и работает в облаке на приемлемых скоростях. Когда я добавляю второй порядок (это выглядит так:)
query = (models.Foo.all()
.filter('x =', x)
.filter('y =', y)
.filter('z =', z)
.filter('zz =', zz)
.order('-a')
.order('-b'))
.. для локального SDK требуется ~ 10 с (100 раз) и работает на той же скорости, что и раньше, в облаке. Мне нужно иметь свойство второго порядка.
Несколько сведений о настройке:
- Версия SDK Windows 1.9.50
- Python 2.7
- Используя модель
db
, а неndb
- Я начал с новой локальной базы данных (заменил datastore.db) и перестроил записи с нуля
- Существует локально локально локально локально (~ 3M в облаке) ~ 1200 Foo.
- Я запустил
sqlite3 datastore.db "PRAGMA integrity_check
на локальном db и никаких ошибок не сообщалось
Вопрос: как я могу заставить запрос запускаться быстрее локально? (Это действительно сложно сделать развитие с 10-секундным отставанием там все время.)