not just performance, but also accuracy. If a field is a primary key, it should NOT be a floating point number (single or double) because they aren't precise and can't reliably be compared unless you use a tolerance
Integers are limited to 32K, so long integer is a better choice for a key...