테스트 사이트 - 개발 중인 베타 버전입니다

mysql select 질문글 채택완료

호롤룰롤 5년 전 조회 1,822

=== table ===

idx (int) name (varchar)
1 aaaa
2 bbbb

 

 

데이터가 이렇게 있으면 보통 조회 쿼리날릴때

SELECT * FROM table WHERE idx = 1

idx는 int타입이라 작은따옴표로 안감싸주잖아요.

 

SELECT * FROM table WHERE idx = '1' 

idx는 int타입인데 작은따옴표로 감싸주어서 쿼리를 날리면 사실 데이터는 정상적으로 가져올수있는데

이게 나중에 데이터가 많이쌓이면 속도면에서 차이가 났던걸로 기억하는데

제가 잘못알고있는건가요? 문제가없을까요?

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
z
5년 전

성능상으로는 문제 없습니다.

다만 int시 따옴표가 없을때 injection 공격 방어에 도움이 됩니다. 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

5년 전

성능상 차이 없는걸로 알고있습니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인