Optimize Search and Performance Reporting
NetSuite provides powerful search capabilities that enable retrieval of the precise information needed, from a potentially vast amount of stored data. However, searching a large number of stored records can slow the retrieval of search results.
Keep in mind:
-
Use scheduled searches where possible, even for integrations where performance is currently acceptable. Scheduled searches run in the background and can help ensure results are delivered reliably even as data sizes grow over time.
-
Perform searches and reports on a limited time range (smaller is always better).
-
Avoid including system notes in your searches because they contain a lot of data. If you have any logic based on the record history, it's preferable to have a custom field on the record itself.
For information about different types of NetSuite searches, see Search Overview. For details about preferences you can set for searches, go to Home > Set Preferences, and click field names on the Analytics subtab.
Avoiding the “Contains” Condition in Searches
The contains condition is one of the most resource-intensive search mechanisms. Try to replace this condition wherever possible to improve search performance:
-
If all of the records you want to retrieve begin with the value you're attempting to match, use “starts with” or “keywords” instead of “contains”.
For example, if you are searching for all records for customers with names beginning with “PennyPack”, such as “PennyPack Systems-NY” and “PennyPack Systems-SF”, you can define search criteria of “Name/ID starts with PennyPack”, rather than “Name/ID contains PennyPack”.
-
If all of the records you want to retrieve contain words beginning with the value you're attempting to match, use “has keywords” instead of “contains”.
For example, if you are searching for all records for customers with the word “Toys” in their names, you can define search criteria of “Name/ID has keywords TOYS”.
Scheduling Exceptionally Long Saved Searches
NetSuite offers the option to schedule saved searches and have results sent as an email to the recipients you choose, so you do not have to stop your work to wait for exceptionally long searches. On the Email subtab of a Saved Search definition page, you can choose the date or dates when you want to run the search, and you can select one or more recipients for emailed search results. Scheduled saved searches are run at 2 a.m. Pacific time on the dates specified. For more information, see Enabling Saved Search Scheduled Email.
Scheduling Exceptionally Long Reports
If you discover that a report takes a long time to return results, you can click Schedule in the footer of the report. Clicking the Schedule button opens the Schedule Report page where you can create a schedule to automatically send the report as an email. Schedules can be created for standard and saved reports and can be sent to other users.
On the Schedule Report page, you can select recipients, enter a message, and select attachments to include with the emailed report. You can then use the Recurrence fields to define how often you want this report sent as an email to the recipients.
For more information, see Scheduling a Report.
If performance of a scheduled report or saved search is abnormally slow, use Application Performance Management (APM) to analyze the search performance of users. For details, see Analyzing Search Performance. If you require further assistance, submit a case to NetSuite Customer Support. For details, see Gathering Performance Details.
If your report isn’t returning results quickly enough, do not repeatedly attempt to run it during the time that the original report is still running. Executing multiple reports at the same time can cause significant performance issues.