I have a program that inserts data into a StringGrid. Each row comprises several cells for each of the several columns. The program is often used for hundreds of thousands of files, and so the StrinGrid often comprises hundreds of thousands of rows. Once complete, the user might sort the grid by a column click and so on. And he can then save the grid to a CSV file.
Though it generally works OK, I'm wondering if it might be better to utilise SQLite. I'm not sure StringGrid is designed for mass data storage, even on a temporary basis. So, while the program finds the data about the files, rather than inserting it into the StringGrid row by row as it goes, I wonder if it is better (faster) to insert it into the SQLite database, and then upon completion, populate the StringGrid from the SQLite database. But perhaps that is just taking twice as long and perhaps wouldn't bring any major advantage? Or, better still, have the SQLIte database displayed somehow (not sure if possible?) directly into the programs form and avoid the use of StringGrid entirely. Though I'm sure that would be better, I am unsure if it would be as easy? Would rewriting existing code that utlises a StringGrid be a major overhaul to insert it, sort it, display it, in SQLite?
I ask if this sounds like something worth considering? Do those with experience feel this would add speed or usage benefits over a standard StringGrid?