Question

I need to choose between VARCHAR and INT in a many to many relationship

Is it faster to do IN('1','21','311') or IN(1,21,311) in Mysql?

Was it helpful?

Solution

You'll want to use integers whenever possible since their representation is fixed length, four bytes by default, and comparisons are done with a single operation. Indexing and comparing strings is always more expensive, but the longer the strings get, the bigger the difference.

In your example here, which uses trivially small numbers, they might perform about the same. With real-world numbers that have six or seven digits, though, you'll see a much bigger difference.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top