I have a form that was taking a long time to load. It was opening 1 table in its data environment, which was 230 MB (150,000 records) with a 19 MB CDX index file. In init, there was a LOCATE command, and one of the 11 indexes was on deleted()
If the LOCATE command was removed, the load time dropped from 8 seconds to 2 seconds. The index was deleted and then recreated. Its size dropped from 19 MB to 14 MB. The table now loads in 2 seconds with or without the LOCATE command.
Did I have "index bloat", to use a phrase that I have heard? What is index bloat? How do I prevent index bloat from happening in the first place.
This is a poorly designed table with an extra-wide 161 fields with a total width of 1534 characters. There are plans to drop it to about half its width in the near future. Could this large width be contributing to my problems. The system did have a couple of unrelated crashes recently so the index file’s integrity was suspect, but the seeks always worked.
This is a 24 hour application and it is tough to get the users to free up two or three minutes to do system maintenance, so I am willing to change my file handling approach if it can remove the need for a periodic reindex.
Bob
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only