Spectrogram, time vs frequency localization, and length of signal
The frequency resolution stays the same because increasing the sampling rate increases the maximum frequency that can be resolved. For example, doubling the sampling rate would double the maximum frequency.
Adjust the size of the spectrogram window, and set the number of FFT points based on that. The command is


[S,F,T] = spectrogram(X,WINDOW,NOVERLAP,NFFT,Fs)


X is the signal
WINDOW is the size of the window, try 1000 for starters
NOVERLAP is the amount of overlap as the window is slid along. signal length / (WINDOW-NOVERLAP) is approximately how many time points you will have.
NFFT is the number of FFT points. The maximum I would use is half the WINDOW value, say 500.
Fs is the sampling frequency. Input this and F will come out as the frequency points and T as the time points with no need for your own calculations.


You should not be running out of memory - I routinely calculate spectrograms on data with millions of points, you just have to tweak the input parameters. For example, putting WINDOW = 1000 and NOVERLAP = 999 will give you one time point for every sample and the output spectrogram will be, in your case, 74767 wide! Try the above settings and see how it goes.

If you make WINDOW large your frequency resolution will increase but you time resolution will decrease.