はじめに
みなさん、kintoneのソート機能は利用していますか。
レコードを任意のフィールドの昇順/降順で並び替えできるので、ソート機能をよく利用する方が多いと思います。
そのソート機能ですが、実はフィールドの種類によってソートされるまでにかかる時間が違うんです!
本記事では、ソートする際のフィールドの種類による処理速度の違いについて検証した結果をご紹介します。
検証条件
検証環境
- kintone 2019年11月版
- ブラウザ:Google Chrome(79.0.3945.130)
- CPU:Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz 2.50GHz
- RAM:8.00 GB
- OS:Windows 10 pro バージョン 1809
検証条件
- レコード一覧表示件数:100件
- レコード数:10万件 / 50万件 / 100万件
- アクセス権は設定しない
アプリ構成
以下のフィールドを配置しています。
- レコード番号
- 日付
- 時刻
- 日時
- 文字列(1行)
- 数値
- ラジオボタン
- ドロップダウン
1000パターンのダミーデータをランダムに登録し、アプリを作成しました。
※作成したアプリのレコード一覧画面
検証内容
レコード一覧画面にて、ソートしたい項目をクリックしてからソート処理にかかった時間を測定しました。
計測方法
- kintoneサーバー側に出力されるソート処理にかかった時間を計測
検証結果
以下は、検証結果のグラフです。
グラフより、以下のことが読み取れます。
- レコード番号 / 日付 / 時刻 / 日時 / 文字列(1行)/ 数値 フィールド
- レコード件数関係なく、計測時間は約0.3秒
- レコード件数の違いによって処理時間に影響が出ることはなかった
- ラジオボタン / ドロップダウン フィールド
- 50万件で計測時間が約2.5秒増加
- 100万件では最大3.8秒かかる
- 10万件に比べて、50万件では約5倍の処理時間がかかっている
- レコード件数の違いによって、大幅に処理時間に影響が出ている
まとめ
結果からわかるように、レコード数が膨大にあるアプリは、ラジオボタン・ドロップダウンをソート条件に指定すると処理速度が遅くなります。
ソート条件を決める際の一つの知見として、ぜひ参考にしていただければと思います!
これらの設定値の他にも、以下のような条件を加えることで、kintoneサーバーの処理量が多くなり
処理速度に影響が出ることが想定されます。
- レコードのアクセス権を設定する
- フィールド内の文字数を増やす
このTipsは、2020年1月版 kintone で確認したものになります。
記事に関するフィードバック
記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。