Skip to main content
Question

Indexing attribute columns in Precisely MapInfo Extended TAB

  • Feb 19, 2026 11:55 PM UTC
  • 4 replies
  • 97 views

nicholas
Contributor
Forum|alt.badge.img+14

I am using the Precisely MapInfo Extended TAB Writer to generate a MapInfo table that is over 2GB (total) in file size. I estimate it should be between 3GB and 4GB in size.

I am indexing five attribute columns in the table.

And the process of indexing the attribute columns is extremely slow.

When I do not index any columns, it takes about 20 minutes to Write the table

With indexing the columns, it can run for twelve hours before I halt the process in frustration to check my process.

Does anyone have any experience of this? Is the Precisely MapInfo Extended TAB Writer just bad at generating indexes?

4 replies

j.botterill
Evangelist
Forum|alt.badge.img+69
  • Evangelist
  • Feb 20, 2026 7:34 AM UTC

Indexes are created incrementally during the write

Each attribute index is written to the .IND file, and the critical point is:

MapInfo builds attribute indexes row‑by‑row, not as a bulk post-process

 

Dropping even one index can halve runtime.

Avoid indexing text fields if at all possible

 

Consider writing the geometry TAB with minimal attributes

Write the attributes-only to a DBF

Join the two in mapinfo downstream


nicholas
Contributor
Forum|alt.badge.img+14
  • Author
  • Contributor
  • Feb 23, 2026 4:51 AM UTC

Hi ​@j.botterill  from where do you get that quote?

I have been reading the FME help docs on the Precisely MapInfo Extended TAB Writer and I cannot see a mention of “MapInfo builds attribute indexes row‑by‑row, not as a bulk post-process”

But I may be looking in the wrong place


j.botterill
Evangelist
Forum|alt.badge.img+69
  • Evangelist
  • Feb 26, 2026 1:01 AM UTC

I got that info from mapinfo sources about the format itself


nicholas
Contributor
Forum|alt.badge.img+14
  • Author
  • Contributor
  • Feb 26, 2026 1:14 AM UTC

I use MapInfo often, and it is absolutely possible to build an Index on a column after all the records have been inserted.

For large datasets, a common optimisation is to drop the indexes, make the changes and then re-build the indexes.