Google App EngineでlimitをつけるとQueryが超速くなる件について
appengine ja night11で紹介した裏技1について、もうちょっときちんと測定した結果を書いときます。
limit無し測定で使ったプログラム
List<Key> keys = null; log.info("log 0."); keys = Datastore.query(getMeta()).query().asKeyList(); log.info("limit無し. :" + keys.size());
limit有り測定で使ったプログラム
List<Key> keys = null; log.info("log 0."); keys = Datastore.query(getMeta()).query().limit(110000).asKeyList(); log.info("limitあり. :" + keys.size());
データ件数100,450件での測定結果
limit有り | limit無し | |
---|---|---|
1回目 | 5.15秒 | 14.016秒 |
2回目 | 5.801秒 | 16.99秒 |
3回目 | 4.414秒 | 13.766秒 |
4回目 | 5.176秒 | 14.025秒 |
こんな感じでビックリするぐらい速くなります。