backend(mBaaS)。データストアデータストアは通常のRDBMSとは異なり、NoSQL型データベースになっています。そのため、特性を理解してデータ取得を行わないと、思ったよりもパフォーマンスが出ないと言った問題になります。今回はskipを指定した場合のデータ取得について解説します。検証結果まとめskipを使うと遅くなる?skipは1000件を超えるデータがあるクラスに対して、どの範囲でデータを取得するのか指定する時に使います。2000件目から100件取得するといった場合です。backendによると、下記のように書かれています。skipの分だけ読み飛ばして、limit分を返却するため、skipが大きくなるに従ってパフォーマンスが劣化します。今回はデータストアのクラスに5万件のデータを登録しています。実運用ではこの十倍ということも少なくないでしょう。そのデータをskipを使った場合と、データに1から順番に数字をもたせておき、その数字を使って取得する場合の2パターンで検証します。SDKを使っています。数値を使う場合は、最後のデータを取って、次のループではその数値以降のデータを取得しています。次のようになりました。3回実行して平均値を取っています。数値の場合は500ms前後で安定していますが(一度飛び抜けていますが、これは例外値でしょう)、スキップを使った場合は20回目のループ以降(2万件以降)徐々にレスポンスが悪くなっているのが分かります。まとめ今回の結果を見る限り、大量のデータがある時にスキップを使うのはお勧めできなさそうです。日付であったり、数値など何らかの検索条件を適用した上でデータを取得する方法がお勧めです。篤司NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。Pushを送ってみよう最近、PWAに注目が集まっています。Service)とは、スマートフォンアプリでよく利用される汎用的な機能をSDKとクラウドから提供するサービスです。backendのちょっと便利な使いかた・非公式SDKやアプリ開発の関連情報などをお届けするブログです。※記事内には、サポート対象外の内容も含みます。本ブログではコメント機能を公開しておりません。アプリ開発を行う上での課題解決には、ユーザーコミュニティやもくもく会などもご活用ください。LIMITEDスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。