[SQL] MySQL은 매장 IP 주소에 가장 효율적인 방법 [중복]
SQLMySQL은 매장 IP 주소에 가장 효율적인 방법 [중복]
어떤 가게에 가장 효율적인 방법이다와 MySQL에서 IP 주소를 검색? 지금은하고 있어요 :
SELECT * FROM logins WHERE ip = '1.2.3.4'
IP는 VARCHAR (15) 필드입니다.
이 작업을 수행하는 더 좋은 방법이 있나요?
해결법
-
==============================
1.IPv4 주소의 경우도 마찬가지 부호없는 int로 보관하고 숫자 값에서 IP 주소를 반환 할 INET_ATON ()와 INET_NTOA () 함수를 사용하고, 그 반대도 할 수 있습니다.
IPv4 주소의 경우도 마찬가지 부호없는 int로 보관하고 숫자 값에서 IP 주소를 반환 할 INET_ATON ()와 INET_NTOA () 함수를 사용하고, 그 반대도 할 수 있습니다.
예:
SELECT INET_ATON('127.0.0.1'); +------------------------+ | INET_ATON('127.0.0.1') | +------------------------+ | 2130706433 | +------------------------+ 1 row in set (0.00 sec) SELECT INET_NTOA('2130706433'); +-------------------------+ | INET_NTOA('2130706433') | +-------------------------+ | 127.0.0.1 | +-------------------------+ 1 row in set (0.02 sec)
-
==============================
2.당신은 단지 IPv4 주소를 저장하려면, 당신은 32 비트 정수 필드에 저장할 수 있습니다.
당신은 단지 IPv4 주소를 저장하려면, 당신은 32 비트 정수 필드에 저장할 수 있습니다.
당신은뿐만 아니라 IPv6를 지원하려면 다음 문자열이 기술적으로 16 바이트 VARBINARY () 필드에 저장할 수 있지만 (아마도 가장 쉬운 읽기 / 사용 방법, 그것은 SQL 문을 생성하기 위해 노력하고 성가신 것 ) "손으로"IP 주소를 선택합니다
-
==============================
3.가장 중요한 것은 반드시 열이 인덱싱되었는지 확인하는 것입니다. 이 IP 주소를 기반으로 쿼리에 큰 차이를 만들 수 있습니다.
가장 중요한 것은 반드시 열이 인덱싱되었는지 확인하는 것입니다. 이 IP 주소를 기반으로 쿼리에 큰 차이를 만들 수 있습니다.
-
==============================
4.무엇이든 함께 작동하도록 당신을위한 가장 쉬운 방법입니다. 당신이 프로파일에 의해 문제가 알 때까지 크기 나 속도 문제는 문제가되지 않습니다. 일부의 경우, 문자열은 부분 일치를해야 할 경우보다 쉽게 작업 할 수 있습니다. 당신이 그것에 대해 걱정에 실제 원인을하지 않는 한하지만 공간이나 성능 문제로, 그것에 대해 걱정하지 마십시오.
무엇이든 함께 작동하도록 당신을위한 가장 쉬운 방법입니다. 당신이 프로파일에 의해 문제가 알 때까지 크기 나 속도 문제는 문제가되지 않습니다. 일부의 경우, 문자열은 부분 일치를해야 할 경우보다 쉽게 작업 할 수 있습니다. 당신이 그것에 대해 걱정에 실제 원인을하지 않는 한하지만 공간이나 성능 문제로, 그것에 대해 걱정하지 마십시오.
-
==============================
5.어쩌면 정수 필드에 직접 정수 값을 저장? IP 주소는 기본적으로 4 "반바지"입니다.
어쩌면 정수 필드에 직접 정수 값을 저장? IP 주소는 기본적으로 4 "반바지"입니다.
그것을 체크 아웃 : http://en.kioskea.net/faq/945-converting-a-32-bit-integer-into-ip
from https://stackoverflow.com/questions/2542011/most-efficient-way-to-store-ip-address-in-mysql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL Server의 역사를 테이블에 역사적 기록을 저장하는 방법 (0) | 2020.04.29 |
---|---|
[SQL] SQL Server 2008의 매개 변수보기 만들기 (0) | 2020.04.29 |
[SQL] Laravel 웅변 대 쿼리 빌더 - 사용 설득력이 성능을 저하하는 이유 [폐쇄] (0) | 2020.04.29 |
[SQL] SQL Server 데이터베이스 호출 멀티 스레딩 C # 응용 프로그램 (0) | 2020.04.29 |
[SQL] 다른 데이터베이스에 하나의 데이터베이스에서 데이터를 전송 (0) | 2020.04.29 |