FileMaker Fundamentals: Understanding Indexing

Anyone CAN find a needle in a haystack, if they supply a seemingly endless amount of time and patience. The problem, however, is we often feel we have little of either.

So we strive to make things as fast as we can - including our database response time. This is where field indexing enters the picture. Fields in your database are indexed according to various rules. Different field types are indexed slightly differently, but it's all zeros and ones underneath.

For the most part, indexing in FileMaker is easy. FileMaker attempts to take care of this for you. It has a check box which is turned on by default, which basically implies "Don't worry, I'll just turn it on if I need it."

So, it's always good to know what is going on behind the scenes and what might bite you in the behind. Such as an accidental indexing set off across millions of record rows while a database is live.

In this particular video, I show you everything I know about how FileMaker indexing works and why you need to know about it. While disk space may be cheap, and making every possible field indexed is certainly possible, there's always a trade off. For example, if your file size is double of what it needs to be, then backing it up will obviously take a longer time.

So, taking control of the indexing is something any proficient FileMaker developer will do.

Update: While I strive to know as much as I can about the topics discussed, there are some times when my knowledge doesn't cover what I think it does. Here is a link to some elaboration on FileMaker indexing FileMaker Indexing Thread. Thanks HOnza, Winfried and Mark!

Comments

I'm a big fan of your training videos and would recommend them to anyone who wants to improve their FM skills. I'm a somewhat advanced developer but get something out of your videos no matter what level you target.

That said, it seemed like this video could have been better had you done more research and given your examples more thought. You admitted not knowing how the All option differs from the Minimal option. Then on the fly you developed self relationships that ended up in a cul-de-sac because you couldn't change the calc field storage from unstored to stored.

In this video, as well as some of the more recent videos, I get the sense that it would be nice to have them a bit more scripted and not so fly-by-wire.

I'd still give this video a B, but have come to expect A+ from this site.

I'll have to admit that this wasn't one of my better videos. There are times when I push a video out before it's ready. This was one of those times. While I think the content was good - except for the not knowing about Minimal vs. All, wrongly assuming that sorting (in terms of speed) was tied to the index and having it "seem" like I was suggesting that end users use the Insert from index - the delivery was certainly lacking.

I'll see what I can do about shooting this one again and providing an update. Please note that when I'm showing aspects of FileMaker that are useful to the developer, this does not mean that I promote using them within the normal operating environment of your everyday FileMaker user.

Thanks for the feedback and keep it coming.

-- Matt Petrowsky - ISO FileMaker Magazine Editor

I had to watch this one 3 times before I was ready for all of the missteps.

That is not to say anything about the data; just the presentation.

Keep it up, Matt. I'm listening!

Important corrections and clarifications for the information presented in this video can be found in this LinkedIn discussion: http://lnkd.in/xrTqgz

Make sure to read the discussion if you're looking for exact information and deep understanding of FileMaker indexes.

For the love of Steve Jobs, if you do not fully understand what you are trying to teach you might want to hit the pause button, go do some research, and then come back and start over. Otherwise you are just wasting my valuable time with this nonsense.

I personally dont believe it's necessary to get the videos onto 100%. What's important is the clarity- well delivered.
What could be a good and interesting addition- in a seperate video- is performance measuring over the network.

How many times did a solution work great on LAN and when you are on VPN - realizing that autocomplete was not the best option
to turn on, renders you with minutes to wait to continue.

That would be something worthwile. How does indexing influence performance over slow networks.