Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
TerraSky
PDF, PPTX
1,452 views
TerraSky PowerNight Soql performance explained
株式会社テラスカイが開催したイベント「TerraSky PowerNight」での講演資料です。
Software
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 13
2
/ 13
3
/ 13
4
/ 13
5
/ 13
6
/ 13
7
/ 13
8
/ 13
9
/ 13
10
/ 13
11
/ 13
12
/ 13
13
/ 13
More Related Content
PPTX
Table storage&sql azure jazug
by
Surf174
PDF
大量データを扱う際のクイックTips インデックス&スキニーテーブル編-
by
Salesforce Developers Japan
PPTX
SQL Server Performance Tuning Essentials
by
Masaki Hirose
PPT
20090107 Postgre Sqlチューニング(Sql編)
by
Hiromu Shioya
PDF
DBパフォーマンス・チューニング
by
Yukihiro Kitazawa
PPTX
そこそこ速くて安全なRDBの使い方
by
ShunsukeNakamura17
PDF
AWS Redshift Analyzeの必要性とvacuumの落とし穴
by
Moto Fukao
PDF
大規模BIクラウドWebサービスの裏側
by
Mitch Okamoto
Table storage&sql azure jazug
by
Surf174
大量データを扱う際のクイックTips インデックス&スキニーテーブル編-
by
Salesforce Developers Japan
SQL Server Performance Tuning Essentials
by
Masaki Hirose
20090107 Postgre Sqlチューニング(Sql編)
by
Hiromu Shioya
DBパフォーマンス・チューニング
by
Yukihiro Kitazawa
そこそこ速くて安全なRDBの使い方
by
ShunsukeNakamura17
AWS Redshift Analyzeの必要性とvacuumの落とし穴
by
Moto Fukao
大規模BIクラウドWebサービスの裏側
by
Mitch Okamoto
More from TerraSky
PDF
TerraSky PowerNight - Salesforce is ready for ERP -
by
TerraSky
PDF
TerraSky PowerNight myEinstein
by
TerraSky
PPTX
セールスフォース的開発メソッドのススメ 須山洋輔
by
TerraSky
PPTX
Xivelyで楽々IoT 岩井哲郎
by
TerraSky
PPTX
これだけは押さえておきたいDreamforceを楽しむための英語力 下川原章仁
by
TerraSky
PPTX
Dreamforce2016から読み解く、これからのit 大友幹
by
TerraSky
PDF
12 power night2014 miyanishi
by
TerraSky
PDF
11 power nignt_furuta
by
TerraSky
PDF
10 power night2014_uematsu
by
TerraSky
PDF
9 power night2014_iwai
by
TerraSky
PDF
8 power night2014_nakamura
by
TerraSky
PDF
7 power night2014_kanbayashi
by
TerraSky
PDF
6 power night2014_sasaki
by
TerraSky
PDF
5 power night2014_totsuka
by
TerraSky
PDF
4 power night2014_yoshikawa
by
TerraSky
PDF
3 power nignt2014_yamamoto
by
TerraSky
PDF
2 power night2014_erp
by
TerraSky
PDF
1 power night2014_imaoka
by
TerraSky
PDF
13 power nignt2014_yanase
by
TerraSky
PDF
04 salesforceでのソフトフォン実装パターン
by
TerraSky
TerraSky PowerNight - Salesforce is ready for ERP -
by
TerraSky
TerraSky PowerNight myEinstein
by
TerraSky
セールスフォース的開発メソッドのススメ 須山洋輔
by
TerraSky
Xivelyで楽々IoT 岩井哲郎
by
TerraSky
これだけは押さえておきたいDreamforceを楽しむための英語力 下川原章仁
by
TerraSky
Dreamforce2016から読み解く、これからのit 大友幹
by
TerraSky
12 power night2014 miyanishi
by
TerraSky
11 power nignt_furuta
by
TerraSky
10 power night2014_uematsu
by
TerraSky
9 power night2014_iwai
by
TerraSky
8 power night2014_nakamura
by
TerraSky
7 power night2014_kanbayashi
by
TerraSky
6 power night2014_sasaki
by
TerraSky
5 power night2014_totsuka
by
TerraSky
4 power night2014_yoshikawa
by
TerraSky
3 power nignt2014_yamamoto
by
TerraSky
2 power night2014_erp
by
TerraSky
1 power night2014_imaoka
by
TerraSky
13 power nignt2014_yanase
by
TerraSky
04 salesforceでのソフトフォン実装パターン
by
TerraSky
TerraSky PowerNight Soql performance explained
1.
Copyright © TerraSky
Co., Ltd. All Rights Reserved. 1 TerraSky Power Night 2017年11月29日 株式会社テラスカイ ソリューション本部 吉清 隆之 SOQL Performance Explained
2.
自己紹介 2Copyright © TerraSky
Co., Ltd. All Rights Reserved. 吉清 隆之 2017年1月 テラスカイ入社(そろそろ満1年) ソリューション本部第1ソリューション部 部長 主に大型案件をやってます。 PM歴はうん十年、Salesforceは2011年から携わってます。 職歴 日本電気ソフトウェア(現NECソリューションイノベーター) 日本オラクル NTTデータ セールスフォース・ドットコム 等々 資格 Salesforce: Sales Cloud,Service Cloud,上級アドミン その他いっぱい(笑)
3.
1. はじめに Salesforceはパフォーマンスチューニングが出来ないのでしょうか。 そんなことはありません。一般的なDBよりはチューニング余地が少ないですが、イン デックスを検討することで性能改善させることはできます。 是非、設計段階からパフォーマンスを意識した設計をしていきましょう。 また、SOQLが効率化されているかを確認することが出来ます。そのやり方も覚えま しょう。 3Copyright ©
TerraSky Co., Ltd. All Rights Reserved. SlowなSOQL を改善しよう
4.
4 2.インデックス比較 Copyright © 2016
Terrasky Co., Ltd. All Rights Reserved. 標準インデックス カスタムインデックス 項目 Id, Name, OwnerId, RecordTypeId, Audit dates(SystemModStamp など), Division,Email (取引先責任者とリード) 参照関係項目と主従関係項目 とドキュメントには記載されてます・・ 外部ID,ユニーク項目(管理者設定可) 標準インデックス対象外の任意の項目 (複数選択リスト, ロングテキストエリア, リッチテキストエリア, 暗号化テキスト, 非決定性の数式ι¹には設定不可 ) 選択的 条件を満たすレコード全体のうち以下の しきい値以下の場合 • 最初の100万件までは30% • 100万件を超える分の15% • 最大で100万件 例) 300万件:30万+30万=60万 560万件:30万+70万=99万 条件を満たすレコード全体のうち以下の しきい値以下の場合 • 最初の100万件までは10% • 100万件を超える分の5% • 最大で333,333件 例) 300万件:10万+10万=20万 560万件:10万+23万=33万 非決定性数式¹ • 直接、間接に他オブジェクトの項目を参照している • 常に同じ値を返すとは限らない関数 (TODAY や NOW など) を使用している • 所有者、自動採番、ディビジョン、監査項目 (CreatedDateとCreatedByID以外)を参照している • インデックス付けできない項目(複数選択リストなど)を参照している • マルチ通貨組織における通貨項目を使用している • 特殊な機能を持つ以下の標準項目を参照している
5.
3. 抽出条件式 (where句)
① • AND • インデックス化項目に対する2つ以上の条件がAND結合されている • 各インデックスを2倍のしきい値で選択性の高低判定 • 選択性の高い全てのインデックスの「積」を満たすレコード数がしきい値以 下なら、それら全てのインデックスが使用される • 全てが標準インデックスなら、標準インデックスのしきい値 • 1つでもカスタムインデックスが含まれるなら、カスタムインデックスのし きい値 • インデックスのいずれかから返されるレコード数が、オブジェクトのレコー ド数の 20 % または合計レコード数 666,666 を超えない限り、インデッ クスが使用される。 Copyright © TerraSky Co., Ltd. All Rights Reserved. 5
6.
4. 抽出条件式 (where句)
② • OR • インデックス化項目に対する2つ以上の条件がOR結合されている • 全ての条件項目に選択性が高いインデックスが存在し、かつ、各条件を満た すレコードの「和」がしきい値以下なら、それら全てのインデックスが使用 される • 全てが標準インデックスなら、標準インデックスのしきい値 • 1つでもカスタムインデックスが含まれるなら、カスタムインデックスのし きい値 • すべてのインデックスから返されるレコード数が、オブジェクトのレコード 数の 10 % または合計レコード数 333,333 を超えない限り、インデック スが使用される。 • LIKE • Force.com クエリオプティマイザでは内部統計情報テーブルは使用されま せん。代わりに、最大で 100,000 件の実際のデータのレコードを抽出し、 カスタムインデックスを使用するかどうかが決定されます。 Copyright © TerraSky Co., Ltd. All Rights Reserved. 6
7.
5. インデックスが使われないケース • 比較方法が一致しない「!=」「NOT
IN」 • 『一致しない』は全件検索をしないとわかりません。可能であれば存在する もののような逆の記述に変えましょう。 • 後方一致、中間一致 Like %_(ワイルドカード) • 中間一致: 「次の文字列を含む」, Text__c LIKE ‘%Foo%’ 後方一致: Text__c LIKE ‘%Foo’ SOSLでの検索を検討してみてください。 • 数値、日付、日付/時間以外の項目での範囲検索や大小比較 • Nullの検索 • 基本的にはNull検索はインデックスを使いませんが、カスタムインデックス はSFDCサポートに依頼すればNullをインデックスに含めることは可能にな ります。その場合はNullもインデックス検索で使用出来ます。 Copyright © TerraSky Co., Ltd. All Rights Reserved. 7
8.
6. Think of
what to do next • 2列カスタムインデックス • 2つの項目を複合してインデックスに出来る。例えば住所のように1つ目を都道府県、 2つ目を市区町村のように作成できる。2つ目の項目はNullでも可。項目個別にイン デックスを作るより効果が高い。 • スキニーテーブル • 特定オブジェクトの一部の項目のみでコンパクトに構成されたオブジェクト • 主に大量のレコードを含むオブジェクトに対するクエリー(レポート、リストビュー、 SOQL)の性能を向上させるために利用される • 対象オブジェクトの持つ項目のうち、100項目までをスキニーテーブルに含められる • 組織のデータストレージの対象としてカウントされません。 • ディビジョン • データを論理セクションへ分割する。 • ひとつのオブジェクトに 100 万を超えるレコードがある場合、および、35 を超える ライセンスがある場合に有効化できる。 Copyright © TerraSky Co., Ltd. All Rights Reserved. 8
9.
7. 実装にあたって • 効率的なインデックスの机上検討 •
オブジェクトのレコード数、項目のカーディナリティ検索条件、選択されるレ コード数の想定をしてインデックスの利用を机上検討 • 検証 • SOQLを作成し、統計情報を取って効果的かを確認。 • 更なる検討 • 統計情報の結果から、再度検討そして検証の繰り返し。 2列インデックスやディビジョン、スキニーテーブルも検討してみましょう。 • デメリットの理解 • インデックスは別オブジェクトとして作成されます。そのためインデックスが 多いと更新処理のパフォーマンスが劣化します。 Copyright © TerraSky Co., Ltd. All Rights Reserved. 9
10.
8. インデックスが使われているかを確認する方法 Copyright ©
TerraSky Co., Ltd. All Rights Reserved. 10 • 開発者コンソールでQuery Planを取得しましょう。 • インデックスがある場合は2行以上結果が表示されます。 • SalesforceはCostが低いものを選択します。Costは1以下を目標としましょう。 • Cardinalityは選択対象の件数です。先に説明したインデックスのしきい値がこち らに該当しますので注意しましょう。 詳しくはTerrasky TechBlogで!
11.
8. インデックスが使われているかを確認する方法 Copyright ©
TerraSky Co., Ltd. All Rights Reserved. 11 • 開発者コンソールでQuery Planを取得しましょう。 • インデックスがある場合は2行以上結果が表示されます。 • SalesforceはCostが低いものを選択します。Costは1以下を目標としましょう。 • Cardinalityは選択対象の件数です。先に説明したインデックスのしきい値がこち らに該当しますので注意しましょう。 詳しくはTerrasky TechBlogで!
12.
9. おまけ SOSL SOSLで、リストビュー内の検索が新しくサポートされるようになりました。 リストビュー内の検索 USING ListView
を使用すると、オブジェクトのリストビューを検索でき、大きなリ ストビューから 1 件のレコードを容易に探すことができます。 次の SOSL ステートメントは MVP Customers リストビューで Acme の Account オブジェクトを検索しています。 FIND {Acme} IN ALL FIELDS RETURNING Account(Id, Name USING ListView=MVPCustomers) Copyright © TerraSky Co., Ltd. All Rights Reserved. 12
13.
Copyright © TerraSky
Co., Ltd. All Rights Reserved. 13
Download