# Performance core principles: Introduction to the project

**URL:** <https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869>\
**Category:** NickLightbody's\
**Tags:** community, optimization, performance, filemaker, knowhow\
**Created:** [March 10, 2021, 1:23am UTC](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869 "2021-03-10T01:23:11Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![nicklightbody](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/nicklightbody/32/1267_2.png) [@nicklightbody](https://the.fmsoup.org/u/nicklightbody)\
**Post date:** [March 10, 2021, 1:23am UTC](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869/1 "2021-03-10T01:23:11Z")

</div>

**Performance is a concern of every FileMaker developer, it is the most complained about subject but also the less discussed. We plan to assemble the wisdom and experience of our community here in order to develop and publish the Core Principles of FileMaker Performance.**

Thank you to @Cecile & @Malcolm for enabling us to undertake this project.  
Nick Lightbody 10th March 2021

# FILEMAKER PERFORMANCE: CORE PRINCIPLES

## TABLE OF CONTENTS

How can I understand more about how FileMaker works and how to get the best out of it performance and user experience wise?

[1. UNSTORED CALCULATIONS](https://the.fmsoup.org/t/performance-core-principles-1-unstored-calculations/1857)  
When are unstored Calcs useful and when should they be avoided?

[2. INDEXING](https://the.fmsoup.org/t/performance-core-principles-2-indexing/1858)  
What effect does indexing have on Performance? Why would you want to reduce it? How can you design to reduce indexing?

[3. RELATIONSHIPS](https://the.fmsoup.org/t/performance-core-principles-3-relationships/1859)  
What effect do relationships have on performance and what are the alternatives? What are examples of performant and non-performant relationship graph designs?

[4. TABLE WIDTHS](https://the.fmsoup.org/t/performance-core-principles-4-table-widths/1860)  
What effect do wide tables (tables with many fields) have on performance? How can you reduce table widths? Where do repeating fields fit in?

[5. PREDICATES](https://the.fmsoup.org/t/performance-core-principles-5-predicates/1862)  
What are the performance implications of how you create relationship predicates, how many you use and their order?

[6. STARTUP](https://the.fmsoup.org/t/performance-core-principles-6-startup/1863)  
How can you improve the user experience by designing a fast startup into your solution?

[7. SCREEN REDRAWING](https://the.fmsoup.org/t/performance-core-principles-7-screen-redrawing/1864)  
What is the effect on performance of windows, lists and portals redrawing and what is the effect of using freeze? When is it useful to use a blank layout within a scripted process and how does it effect performance?

[8. EXECUTESQL](https://the.fmsoup.org/t/performance-core-principles-8-executesql/1865)  
What are the performance implications of using ExecuteSQL? When should you use this and how should you use it properly?

[9. DATA IMPORTS](https://the.fmsoup.org/t/performance-core-principles-9-data-imports/1866)  
How do you ensure that data imports run as fast as possible?

[10. SCRIPTING](https://the.fmsoup.org/t/performance-core-principles-10-scripting/1867)  
How do I write fast and easy to maintain scripts to automate my solution?

[11. TRANSACTIONS](https://the.fmsoup.org/t/performance-core-principles-11-transactions/1868)  
What are Transactions and how and when should I consider using them? What is good practice in designing a Transactions feature?

[12. PLUGINS](https://the.fmsoup.org/t/performance-core-principles-12-plugins/1873)

Which plugins can enhance FileMaker performance without thereby introducing dependencies which create maintenance issues in the future and how should be best use those plugins?

[13. MISCELLANEOUS](https://the.fmsoup.org/t/performance-core-principles-13-miscellaneous/1874/5)

If you cannot find the right place for something about base / core / vanilla FileMaker performance and performance related Plugins please create your reply here and have your say.

**POLL**

_Help! I have closed this until it’s setup correctly.  
I want to offer 3 votes out of 12 subject areas. So in FM terms I want to permit 3 checkboxes from a list of 12 - ideally showing text labels for each of the 12 - can someone show me how to do it or do it themselves? Thanks!_

Which three areas of focus on FileMaker Performance do you regard as the most important?

_Poll ([view on site](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869/1))_

---

<div class="post-metadata">

**Author:** ![Cecile](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/cecile/32/98_2.png) [@Cecile](https://the.fmsoup.org/u/Cecile)\
**Post date:** [March 10, 2021, 1:47am UTC](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869/2 "2021-03-10T01:47:33Z")

</div>

I think that it would be important in the discussion, when introducing a technique, to use a consistant way to present it. Suggestion:

1. **Technique Name/Description** :
2. **Technique Type:** eg: best practice, work around, optimization
3. **If work around - how critical**
4. **If work around - what change to the build would bring valuable improvement, ROI?**
5. **Need addressed briefly described/objective** : eg: Emulation of other systems, Compatibility, Integration, Technological requirement, Priority, Security, FileMaker limitation, FileMaker paradigm, Usability, Hardware, Retrofitting
6. **Technique description and discussion**
7. Confirm accuracy for FM19

---

<div class="post-metadata">

**Author:** ![Vincent\_L](https://avatars.discourse-cdn.com/v4/letter/v/b5a626/32.png) [@Vincent\_L](https://the.fmsoup.org/u/Vincent_L)\
**Post date:** [March 10, 2021, 11:37am UTC](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869/3 "2021-03-10T11:37:27Z")

</div>

Maybe we need a miscelanous Tip one, for those thats don't fall in the categories

---

<div class="post-metadata">

**Author:** ![nicklightbody](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/nicklightbody/32/1267_2.png) [@nicklightbody](https://the.fmsoup.org/u/nicklightbody)\
**Post date:** [March 10, 2021, 11:48am UTC](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869/4 "2021-03-10T11:48:01Z")

</div>

Yes, a good idea @Vincent_L - then if anything become significant it can be moved to its own topic?

---

<div class="post-metadata">

**Author:** ![Vincent\_L](https://avatars.discourse-cdn.com/v4/letter/v/b5a626/32.png) [@Vincent\_L](https://the.fmsoup.org/u/Vincent_L)\
**Post date:** [March 10, 2021, 12:17pm UTC](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869/5 "2021-03-10T12:17:53Z")

</div>

Sure, I was thinking about BE plugin and its uses, maybe whe need a Plugin categorie

---

<div class="post-metadata">

**Author:** ![Cecile](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/cecile/32/98_2.png) [@Cecile](https://the.fmsoup.org/u/Cecile)\
**Post date:** [March 10, 2021, 3:23pm UTC](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869/6 "2021-03-10T15:23:54Z")

</div>

I created plugins. Can someone put it the descriptor in the first post ?

> [@Performance core principles: 12. Plugins](https://the.fmsoup.org/t/performance-core-principles-12-plugins/1873):
>
> PLUGINS Which plugins can enhance FileMaker performance without thereby introducing dependencies which create maintenance issues in the future and how should be best use those plugins?

---

<div class="post-metadata">

**Author:** ![nicklightbody](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/nicklightbody/32/1267_2.png) [@nicklightbody](https://the.fmsoup.org/u/nicklightbody)\
**Post date:** [March 10, 2021, 3:26pm UTC](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869/7 "2021-03-10T15:26:08Z")

</div>

Maybe - or maybe not. This would only be because I have set a target for exploring performance in "Vanilla FileMaker" as there are plenty of experts on newer areas?

Having said that the free BaseElements Plugin from Nick Orr in Australia is very good and doesn't, in my experience create dependencies that break on the next Filemaker update?

What do people think?

Can we do votes / polls here:

Question: within the idea of better understanding basic FileMaker Performance should we include a Topic on Plugins?

Nick

---

<div class="post-metadata">

**Author:** ![Cecile](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/cecile/32/98_2.png) [@Cecile](https://the.fmsoup.org/u/Cecile)\
**Post date:** [March 10, 2021, 3:29pm UTC](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869/8 "2021-03-10T15:29:08Z")

</div>

If you look at the little gear in the edit post box, there is a poll option. I bumped your account so that you have access to creating polls.

---

<div class="post-metadata">

**Author:** ![Cecile](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/cecile/32/98_2.png) [@Cecile](https://the.fmsoup.org/u/Cecile)\
**Post date:** [March 10, 2021, 3:33pm UTC](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869/9 "2021-03-10T15:33:25Z")

</div>



---

<div class="post-metadata">

**Author:** ![Cecile](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/cecile/32/98_2.png) [@Cecile](https://the.fmsoup.org/u/Cecile)\
**Post date:** [March 10, 2021, 3:57pm UTC](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869/10 "2021-03-10T15:57:52Z")

</div>

Created it 🙂

> [@Performance core principles: 13. Miscellaneous](https://the.fmsoup.org/t/performance-core-principles-13-miscellaneous/1874):
>
> MISCELLANEOUS Please be rigorous (ie think for maybe 5 seconds first) and try to submit your responses, disagreements, expressions of support and questions under the correct Performance thread / topic. However, if you cannot find the right place for something about base / core / vanilla FileMaker performance and performance related Plugins please create your reply here and have your say. If some stuff clearly needs a home we will create a new topic. If it doesn't belong here then a sys admi…

---

<div class="post-metadata">

**Author:** ![Cecile](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/cecile/32/98_2.png) [@Cecile](https://the.fmsoup.org/u/Cecile)\
**Post date:** [March 10, 2021, 4:41pm UTC](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869/11 "2021-03-10T16:41:21Z")

</div>

I don't have time to go fishing in there but there are sooo many contributions in that thread. I think we should extract the stuff pertinent for our work here.

[panel-session-on-performance-post-your-questions-here](https://community.claris.com/en/s/question/0D50H00006ezbHGSAY/panel-session-on-performance-post-your-questions-here)

---

<div class="post-metadata">

**Author:** ![nicklightbody](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/nicklightbody/32/1267_2.png) [@nicklightbody](https://the.fmsoup.org/u/nicklightbody)\
**Post date:** [March 10, 2021, 4:42pm UTC](https://the.fmsoup.org/t/performance-core-principles-introduction-to-the-project/1869/12 "2021-03-10T16:42:45Z")

</div>

Thanks! Such fun!
