こんにちは、エムザス ITサービス部です。
kintoneには数値的な制限が様々あります。フィールド数についても上限があり、1つのアプリにフィールドは500個までとなっています。
レコード数については制限はありませんが、増加すればパフォーマンスに影響を及ぼすとサイボウズが公表しています。
その観点で今回はデータを交えて書いていきたいと思います。
お知らせ①
🌟無料&登録不要でプラグインのお試しが可能!🌟
kintoneユーザーの皆さん!
エムザスのkintoneプラグインはもう試しましたか?🤔
エムザスでは以下のようなプラグインを開発しています!👇
デモ環境で、ほとんどの機能が今すぐお試しいただけます✨
さらに、お客様のドメインで無料で3ヶ月間、すべての機能を試すこともできます!🎉
それでは、本題に入ります!
きっかけ
今回、フィールド数・レコード数について書こうと思ったきっかけは、実際にkintoneを利用していてアプリの一覧画面でなかなかボタンが表示されないということがあったためです。
原因としては表示しているフィールド数が多すぎたということがあったので、フィールド数がどの程度影響するのか、どれくらいであれば利用に耐えられそうかというのを把握しておきたくて調査、執筆しています。
調査方法
以下のルールで調査を行いました。
●画面
アプリの一覧画面
●パターン
下記3点の組み合わせ
①フィールド数(100,200,300,400,500)
②レコード数(100,1000,10000)
③1ページに表示するレコード数(20,40,60,80,100)
●計測方法
目視での計測(本来は正確に行うべきですが、簡易的に目安が知りたいということで。)
●備考
配置するフィールドは一番一般的と思われる「文字列(1行)」
レコードのデータは簡単な文字列(テストなど)
結果
結果としては以下のような結果となりました。

予想はしていたのですが、一度に表示するものが多くなればなるほど時間がかかり、100行×500フィールドでは11.4秒もかかってしまいました。
人それぞれストレスの感じ方は変わりますが目安として3秒以上かかったものを黄色にしています。
実際には一覧画面表示時にいろいろな処理が動いて全てが完了するのにもっと多くの時間がかかることが予想されます。
一応グラフも載せておきます。

ちなみにレコード数についての計測結果が無いのは、レコード数を増やしても秒数に変化がなかったためです。
レコード数とそれに対して行っている処理によっては時間がかかってしまうこともあるでしょうが、一覧の表示については、表示するフィールド数を少なくすることが重要と考えました。
対策
やはりこれだけの時間がかかってしまうとユーザーにストレスを与えてしまいますし、折角業務の効率化などを図ってkintoneを使っているのに時間を余計にかけたくはないところです。
では、遅くならないようにするためにはどうすればよいかというと、純粋に表示する量を減らすことです。
行数を最低の20行にしたり、フィールド数を100フィールドに抑えたりどちらかでも行えば3秒には収まります。
そもそも100フィールド以上を一覧画面に表示しなければならない状況がどれほどあるのか不明ですが、もしそのようなアプリが存在する場合や、なるべく画面表示時のストレスを少なくしたい場合には以下のような対策がおすすめです。
対策:一覧の設定で一番上(一覧画面を表示したときに最初に表示されるフィルタ)にダミーの設定をしておくことです。
例えば、以下のように表示するフィールドをレコード番号だけにした一覧を作成するとかなり早く表示されます。

ただ、この一覧だけでは見たい情報が表示されていないでしょうから、他に適切な一覧は作成しておいて必要に応じて切り替える必要はでてきます。
切り替える手間と表示が遅くなるストレスを天秤にかけて設定すると良いかもしれません。
アプリの見直し
そもそも、そんなにたくさんのフィールドを配置し表示しなければならないアプリは、作り方に問題があるかもしれません。
必要そうなフィールドはとりあえず詰め込みたくなりがちですが、アプリを分けることでパフォーマンスの向上にもなりますし、データのまとまり方にも統一性が出て結局その方が使いやすいアプリセットになるかもしれません。
ただ、闇雲に見直そうと思っても現状の把握や変更計画を立てていくのは難しいかもしれません。
そんなときに役立つのがプラグイン「EMdocMaker」です。
これはエムザスが開発しているプラグインの一つで、アプリの設定を一目で確認することができ、現状をExcelファイルで残しておくことができます。
アプリ開発をするときの強い味方EMdocMakerの紹介ページはこちらをご覧ください。
またEMdocMakerの他にもいろいろなプラグインをエムザスでは開発しています。
是非こちらからエムザスの製品をご覧ください。