- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-13-2022 09:02 PM
3億件のレコードが格納されているテーブルから1500件のリスト表示を行う際に30秒ほどの時間を要しています。
検索処理時間の短縮ができないか検討を進めておりますが、リストビューにてFilter条件の指定方法によって
性能差異がでることはあるのでしょうか?
差異がでる可能性がある場合、演算子の変更や指定順序の変更にとって処理時間が短くなるなどの
ノウハウをお持ちでしたらご教示いただければと思います。
(例)
参照フィールド1 次の値に等しい(=) AAA
参照フィールド2 次の値に等しい(=) BBB
参照フィールド3 次の値に等しい(=) CCC
日付日時フィールド4 次の値に等しい(=) 今日
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2022 02:39 AM
『3億件のレコードが格納されているテーブルから1500件のリスト表示』
私なら、テーブル分割、インデックス化、ページキャッシュを利用して高速化、最適化を図ります。下に掲載している記事に詳細に書かれています。検索条件に日付があるならば、今日のデータだけ別テーブルにコピーして検索するのはどうでしょうか。今日のデータが1万件程度なら快適な検索が出来るはずです。
『フィルター条件の指定方法によってリストビューでの性能差が出ることはあるのでしょうか?』
性能差は大きくあります。詳しい説明は下記記事を参照してみてください。
#1, 行数のユーザー設定に制限をかける。
#2, データベースインデックスを最も効率的な演算子で使用する。
#3, Active=trueのような効率的なフィルタ条件を追加し、遅いクエリを改善する。
#4, ドットウォークされたフィールドに対する条件は避ける。
#5, リストの「Go to」検索オプションに注意する。
#6, 複雑なレポート、特に大きなORのレポートは、1つのホームページで複数のレポートに分割する。
#7, 効率的なデータベースビューをデザインする。
#8、リストビューに表示される列の数を制限する。
#9, リストにジャーナルフィールドを追加しないようにしましょう。
#10, "Order By" フィールド(リストのソート順)に注意する。
#11、関連リストをオンデマンドで読み込む。
#12, ホームページの読み込みの量と頻度を最小限にする。
#13, データの分散と将来の成長を考慮する。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2022 02:39 AM
『3億件のレコードが格納されているテーブルから1500件のリスト表示』
私なら、テーブル分割、インデックス化、ページキャッシュを利用して高速化、最適化を図ります。下に掲載している記事に詳細に書かれています。検索条件に日付があるならば、今日のデータだけ別テーブルにコピーして検索するのはどうでしょうか。今日のデータが1万件程度なら快適な検索が出来るはずです。
『フィルター条件の指定方法によってリストビューでの性能差が出ることはあるのでしょうか?』
性能差は大きくあります。詳しい説明は下記記事を参照してみてください。
#1, 行数のユーザー設定に制限をかける。
#2, データベースインデックスを最も効率的な演算子で使用する。
#3, Active=trueのような効率的なフィルタ条件を追加し、遅いクエリを改善する。
#4, ドットウォークされたフィールドに対する条件は避ける。
#5, リストの「Go to」検索オプションに注意する。
#6, 複雑なレポート、特に大きなORのレポートは、1つのホームページで複数のレポートに分割する。
#7, 効率的なデータベースビューをデザインする。
#8、リストビューに表示される列の数を制限する。
#9, リストにジャーナルフィールドを追加しないようにしましょう。
#10, "Order By" フィールド(リストのソート順)に注意する。
#11、関連リストをオンデマンドで読み込む。
#12, ホームページの読み込みの量と頻度を最小限にする。
#13, データの分散と将来の成長を考慮する。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2022 08:54 PM
ご返信ありがとうございます。
SNOWのページキャッシュを利用する方法について確認させていただきたいのですが、
リストビューの表示を3回実行したところ、以下の結果でした。
1回目:45秒
2回目:20秒
3回目:20秒
2回目以降は処理時間が短くなる傾向があるのですが、これはページキャッシュの影響という認識でよろしいでしょうか?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2022 09:39 PM
その結果からどの処理が早くなったのか推測では色々考えられるのですが、確証がない話をしても仕方がないので、画面下にあるResponseTimeの表示を見て検討してみてください。ページキャッシュは自動的に生成されるものと、Scriptなどで意図的にキャッシュとなるデータを作成して読み込む方式もあります。HTMLを作成してキャッシュにしたり、今日のデータだけ抽出してキャッシュにしたりするのが、意図的にキャッシュを作成する方式です。
Response time on forms | ServiceNow Docs
Response time indicator | ServiceNow Docs
Platform performance | ServiceNow Docs
ダッシュボードやホームページで利用するキャッシュ Homepage caching | ServiceNow Docs
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-17-2022 06:52 PM
iwai様
ご回答いただきありがとうございました。
大変参考になりました。