Sampling Rate of ADC MCP3008


I am a beginner and just started to learn programming by myself.. I am working on a project to sampling a high frequency signal (50kHz to 100kHz).. I have an Arduino Uno and a MCP3008 ADC IC which has sampling rate of 200ksps ( VDD=5 V)..the reason of choosing this IC is to satisfy the nyquist theorem(fs>2f)... I have successfully communicate the UNO with the MCP3008 via SPI and the voltage level can be derived accurately...

The problem now is the sampling rate of ADC.. I tried to use Serial.println() function to send the value to MATLAB for graph plotting via serial communication but I only managed to send 1959 samples per second... and then I try not to send every single data and use a counter to calculate the total sample that have been collected from the MCP3008 in one second (with SPI_CLOCK_DIV2 and baudrate 115200) ..I actually collected 25,172 samples per second without serial.println() every single data but it is still way far away from 200ksps...

Please guide me on how to improve the sampling rate of the ADC..

The final goal is to send around 200ksps of data to MATLAB via serial communication..

Thanks, LV