简体   繁体   中英

Mysql IN(VARCHAR) vs IN(INT)

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 ?

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM