your question is similar to "I want to move from A to B - What car will be best?"
There is a contradiction within your question itself:
You want to measure "speed" to properly conduct "inverter sequence switching".
Well - "speed" most likely isn't the parameter you want to sense.
Your BLDC technically is a permanent magnet synchronous machine and to properly control the speed (and torque) you need to know the angular position of the rotor.
As an example:
Using a sensor that produces a DC-voltage proportional to the rotational speed will get you highly accurate info on the machine's speed - but is no way helpful in determining inverter switching sequence.
You need an encoder that returns the rotor's position.
Of course the derivate of rotor position over time returns the speed.
First thing is to decide about the resolution and whether you want a relative or absolute information.
A typical analog way is, to have an encoder that generates sine and cosine traces to get an absolute angle.
You can choose to have incremental encoder that provides a certain number of pulses per turn.
Lots of the decision depends on available space and money along with requirements on accuracy and environmental conditions like temperature or EMI.
Once you compiled this, you can narrow down the options for a suitable device.