Quick Base Discussions

What are the most common Quick Base functions that can affect performance?

By Brian Cafferelli posted 02-08-2018 14:46

  



[The Quick Base Knowledge Base is your library of frequently-asked questions that help you better customize your apps to solve your business problems.]


The table below describes some of the most common actions Quick Base performs and how they affect system performance. If you are trying to optimize performance in Quick Base, itÕs helpful to understand these actions so that you can make any necessary adjustments.

Action: q

Name: Query

Description: Query a table using a shared, personal, or temporary report

Recommendations: 

- Be sure to order filter criteria in reports carefully. Quick Base processes filter criteria sequentially. Your reports should eliminate the most records with the first filters.

- Try to use native data fields (from the table you are in) rather than derived fields like summary or formula fields. Derived fields must do additional queries, permission checks, and calculation before they can be evaluated against your query.

- Wherever you can, use exact matches when building your filter criteria. Using is equal to as your matching operator will be faster than using contains.

Limit the number of columns returned by your reports to display only the most important data necessary for the user to take effective action.

- Use sorting and grouping only when absolutely necessary. Remember that sorting and grouping operations add handling time, especially for large results sets.



Action: Dashboard

Name: Application Homepage

Description: Display one of the application dashboards (a.k.a. home pages)

Recommendations:

- Carefully manage the use of images on dashboards. If you are hosting the images in a Quick Base application, the system must check permissions for each image returned.

- Carefully manage the reports used on a dashboard. Summary reports often take longer to return results because they have to poll the full contents of a details table to calculate summaries.

- Carefully manage the number of rows and columns returned for reports that are on the dashboard. Remember that the dashboard is designed to help the user take fast action; it need not provide the full details of records in tables.

- Carefully manage any additional HTML or scripting that may be in the dashboard HTML text sections. The actions of these scripts may cause unnecessary drains on system resources.

- Use the Query best practices above to optimize reports.



Action: QuickSearch2

Name: Find Records

Description:Using the SEARCH menu, search one or more tables for records based on filter criteria; Uses Default column settings for results format.

Recommendations:

- Limit the number of fields that can be searched using "Some field" or "FIND" searches. Most users are searching for a specific piece of data that is predictable and knowable. Use that knowledge to restrict these searches to relevant fields only. Learn how to exclude fields from "Some field" searches.

Create 'Ask the user' reports to let users specify the data they want to see.

- Be sure to order filter criteria in searches carefully. Quick Base processes filter criteria sequentially. Your reports should eliminate the most records with the first filters.

- Try to use native data fields (from the table you are in) rather than derived fields like summary or formula fields. Derived fields must do additional queries, permission checks, and calculation before they can be evaluated against your query

- Create custom search boxes on the dashboard that query a specific field for values submitted by the user.



Action: API_doQuery

Name:  API to Execute Query

Description: Use the API language to query a table and return results

Recommendations:

- Be sure to order filter criteria in API queries carefully. Quick Base processes filter criteria sequentially. Your reports should eliminate the most records with the first filters.

- Try to use native data fields (from the table you are in) rather than derived fields like summary or formula fields. Derived fields must do additional queries permission checks, and calculation before they can be evaluated against your query.

- Use sorting and grouping only when absolutely necessary. Remember that sorting and grouping operations add handling time, especially for large results sets.




Action: er

Name: Edit a Record

Description: Edit a record using QB form

Recommendations:

- Consider reducing the number of embedded report link fields on a form. These require additional handling time to poll detail tables and return related records.

- Consider reducing the column choices of any embedded report link fields, using fewer formula and summary fields in your embedded table structure.

- Consider reducing the number and complexity of any dynamic form rules present on the form.

- Consider using links to additional forms for forms with more than 100 fields. Use additional 'sub' forms for managing a piece of the process. 




Action: dr

Name: Display a Record

Description:View a record using a QB form

Recommendations:

- Consider reducing the number of embedded report link fields on a form. These require additional handling time to poll detail tables and return related records.

- Consider reducing the column choices of any embedded report link fields, using fewer formula and summary fields in your embedded table structure.

- Consider reducing the number and complexity of any dynamic form rules present on the form.

- Consider using links to additional forms for forms with more than 100 fields. Use additional 'sub' forms for managing a piece of the process.




Action: FinishEditRecord

Name: Finish Edit Record

Description: Commits a record to the database.

Recommendations: This request can take a long time in two scenarios: 1) when there is a large file attachment, and 2) when there is a large number of email notification rules that need to fire once the edited record is committed to the database.




Action: GenAdvFind

Name: Advanced Find

Description: Presents users with the screen that lets them setup an "advanced find".

Recommendations:  See the Query section above for performance recommendations.




Action: API_GenResultsTable

Name: API for Generating a Results Table

Description: Generates a table report without any of the Quick Base headers or footers. This is primarily used by people who want to embed a report on a web page.

Recommendations: See the Query section above for performance recommendations.




Action: API_GenAddRecordForm

Name: API for Add Record Form Request

Description: Returns the standard Quick Base new record add page (HTML) for the table whose DBID you specify. It contains edit fields for the user to fill and a Save button to add the record to the database. If you want to prefill any fields, you can do so by supplying one or more field/value pairs in the request. Any fields not prefilled or filled in by the user default to the values set in the table field properties.




Action: API_EditRecord

Name: API for Editing a Record

Description: Changes any of the editable field values in the specified record. Only those fields specified are changed; unspecified fields are left unchanged.




Action: API_ImportFromCSV

Name: API for Import

Description: Adds or updates a batch of records in a database table. You can even do adds and edits together in the same API_ImportFromCSV request.






Action: API_GetSchema

Name: API for Getting Schema

Description: Returns metadata information about the Quick Base application, such as any application variables created for it and all child table DBIDs as well.

If you invoke this call on a table DBID, the application variables are  returned. In addition,this call returns  table-related information such as queries, field IDs (fid), and the current property settings for each field.



Action: RecordPicker

Name: Record Picker

Description: Used to invoke the "record picker", which is the screen that is used when selecting a master record when editing a related details record.




Action: API_GrantedDBs

Name: API for Getting List of Applications To Which a User Has Access

Description: Returns  the names and DBIDs of all the applications and tables that you are entitled to access. This call also returns a ticket. If you specify both parent and child tables to be returned, you can easily identify the parent from child by the database name that is shown.

Action: API_GetDBInfo

Name: API for Getting Application Information

Description:This request, when invoked on the application-level DBID or on a table DBID, gets the metadata information, such as the last time the table was modified. You might use this function to find out if the table has changed since you last used it, or to find out if a new record has been added to the table.

Action: TableDashboardUpdate

Name: Dynamic Filter for Report

Description: Filters records on reports.

Recommendations: This request can take a long time in few scenarios: 1) when there is a large large number of records on the table's home page, and 2) when a data-entry error has been made in a Date or Date/Time field. For example, if a date of "07-03-20141" was entered, Quick Base will scan ~20,000 years instead of the date range of <10 years likely intended.
0 comments
0 views