My program performs a bunch of number crunching and processing to the database. The program starts by reading the data into a giant vector data structure. My program is broken down into many different functions with my vector data structure containing the database being passed around. Would I see increased performance if I was using pointers to pass the database around to different functions? I have read many sources that say to forget about pointers in C++ but in the case of perusing optimal performance with a very large database being passed around would they not be good to use?
It depends. How are you currently passing around the vector? If it is by value, then yes, it will be an improvement. If it is by reference, then no, no improvement will be gained.
Use references when passing vector and be sure to call vector::reserve before you start reading the data into the vector so you can avoid reallocations.