Background
When you have formulas in spreadsheets there is one formula for each cell. When you copy a column with formulas, each formula needs to be checked for relative references, and then recalculated for the new location. Dependency links (for optimizing recalculation) are also created. This takes time. Barely noticeable for a dataset of 100 cells, but likely the cause why the move of a set of near half a million formulas (with possible interdependencies) takes considerable time to complete.
For a calculated field in a database, the formula exists exactly once. The possibility of relative vertical dependencies is reduced (i.e. less flexibility in how you can extract info), but copy to new column is safer and probably faster. You usually make new columns by query. Database use is perceived as slower, particularly on large datasets, because the result is created at “run time” (when you run a query) while spreadsheet results are “immediate” at entry time.
A database is more efficient to work with and less prone to error with large datasets, compared to a spreadsheet. However, it requires that you understand the nature of structured data, and are able to normalize the input.
Answer
Using Base
Your csv file(s) can be directly read by Base and treated as a database. This will be a low performance and read-only solution. Keep your file(s) in a designated folder where there is nothing else, and “open existing database” from Base.
It can also be imported into a database engine, which allows for editing, performance boosting indexing, and restructuring. LibreOffice can connect as a frontend to many such database engines.
So yes, it is possible, with Base, to lift your data into a proper database and work on it from there. Whether you gain anything from it depends on the nature of the data (what goes in) and the nature of your formulas (what comes out). Little information is given about this.
Stay with Calc
Instead of cell formulas, you may be able to use array formulas. An array formula for an entire column is possible (at least I am not aware of a size limit for arrays), and does not need to be reassessed for each row (except for recalculation). Hence, copying/moving a column with an array formula may be faster. However …
- Not all cell formulas translate easily to array formulas.
- You can’t insert a row/column/cell (or otherwise manipulate cell ranges) within an array range.