2013-05-31 5 views
0

나는 열을에 저장하면 mysqld db에 값이 10000으로 저장된다. 만약 내가 그것을 10k로 바꾸면 VARCHAR은 어느 것이 더 나은 성능을 낼 것인가?mysql TINYINT & VARCHAR 성능

ex. 10000, 20000, 30000 .... 또는 10k, 20k, 30k ...

+1

당신이하고있는 일에 따라 다릅니다. –

답변

3

값을 선택하는 경우 중요하지 않습니다.

그러나 where 조건에서 사용하는 경우 성능은 int을 사용하면 더 좋습니다. 예 : 열이 int 인 경우

select * from your_table 
where your_column > 1000 

에만 작동합니다 당신은 숫자로 다시 변환 할 필요가 없습니다.

일반적으로 - 숫자 인 경우 숫자로 저장하십시오.

+0

varchar는 10k VARCHAR (3), 10000 TINYINT (5)이됩니다. – user2178521

+0

'tinyint (5)'는 '0'에서 '255'까지의 작은 int입니다. 'varchar (3)'은 3 바이트 이상 있습니다. 어쨌든 varchar에는 더 많은 공간이 필요합니다. –

+0

많은 Thx! 이것은 정말로 도움이됩니다! – user2178521

0

더 큰 질문은 - 귀하의 프로젝트에 도움이 될까요? TINYINT을 사용하면 수학 연산을 수행 할 수 있습니다. 숫자가 문자열이기 때문에 VARCHAR을 사용하여이를 수행 할 수 없습니다. 물론이 문자열을 숫자로 조작 할 수는 있지만 성능면 에서뿐만 아니라 여분의 코드를 만들 필요가 있습니다 (SQL 또는 다른 언어를 불필요하게 복잡하게 만들 수 있습니다).

값을 숫자로 만들려면 꼭 모든 숫자를으로 지정하십시오. 정말 똑똑한 사람들이 문자열의 & int의 차이를 만든 이유가 있습니다.