백만 개 이상의 레코드에 대한 ip2location 쿼리

이 형식의 SQL 테이블을 제공하는 ip2location 서비스에 대한 구독이 있습니다.

FromIP (int), ToIP(int), lat, long, city  etc etc 

내 액세스 로그를 구문 분석하고 모든 사용자를 분류하고 싶습니다. 액세스 로그에는 IP 주소와 사용자 ID (예)가 있습니다.

그래서 다음과 같은 쿼리를 실행합니다.

select city from ip2location where FromIP <= $ipAsInt  AND ToIP => $ipAsInt

그러나 이것은 내가 파싱 해야하는 백만 개 이상의 레코드에 너무 오래 걸립니다. 나는 이것이 ip2location의 매우 일반적인 사용이어야한다고 생각합니다. 구조를 최적화 할 수 있습니까?

가장 쉬운 방법은 정렬 된 IP 순서로 조회하는 것이 었습니다. IP를 조회 할 때 마지막 IP도 선택합니다.

이렇게

FromIP <= $ ipAsInt AND ToIP => $ ipAsInt 인 ip2location에서 city, ToIP 선택

이제 다음 주소를 조회해야 할 때 다음 IP가 이미 마지막 $ ToIP보다 작은 경우 테이블을 쿼리하지 않습니다.

1,000 회 조회마다 여기서는 약 80 번만 쿼리합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

수백만 개의 레코드로 LIMIT 쿼리 속도 향상

분류에서Dev

Sequelize : 2 개 이상의 테이블 관계에 대한 OR 쿼리

분류에서Dev

특정 위치의 IP 주소 만 찾기위한 ip2location

분류에서Dev

2 개 이상의 값을 반환 한 하위 쿼리-특정 날짜의 값으로 날짜 범위에 대한 레코드 업데이트

분류에서Dev

백만 개의 레코드가있는 인덱스에서 dynamodb 쿼리

분류에서Dev

정의되지 않은 오류가 해결되었지만 이제 쿼리에 대해 예상되는 3 개 대신 1 개의 레코드 만 표시됨

분류에서Dev

SQL Server-백만 개의 레코드로이 쿼리 최적화

분류에서Dev

MySQL에서 동일한 구조의 테이블에서 2 천만 개 이상의 레코드를 처리하는 방법

분류에서Dev

수천 개의 Route 53 레코드 쿼리에 대한 느린 응답

분류에서Dev

2 개의 열에 최대 값이있는 테이블에서 레코드를 선택하는 LINQ 쿼리

분류에서Dev

여러 상위 개체의 하위 개체에 대한 활성 레코드 쿼리

분류에서Dev

백만 개의 레코드에서 쿼리를 매우 느리게 실행하는 MYSQL 서버

분류에서Dev

백만 개의 레코드를 빠르게 선택하는 SQL 쿼리

분류에서Dev

수백만 개의 행에 대한 PostgreSQL 쿼리는 UUID에서 오래 걸립니다.

분류에서Dev

수백만 개의 레코드가있는 테이블에 대한 실시간 집계

분류에서Dev

MYSQL은 테이블이 아닌 두 개의 쿼리에서 일치하는 레코드 만 선택한 다음 B 쿼리로 결과를 정렬합니다.

분류에서Dev

각 고유 한 열 ID의 레코드 3 개만 가져 오는 쿼리

분류에서Dev

Mutli 백만 개의 레코드에서 SQL Select 레코드

분류에서Dev

PHP에서 2 개 이상의 조합에서 SQL 쿼리를 사용하여 레코드 표시

분류에서Dev

Pandas Dataframe에서 JSON으로 : 1 백만 개의 레코드에 대해 한 줄을 반환합니다.

분류에서Dev

개수> = 2이고 열에서 고유 한 경우 레코드를 찾기위한 Oracle 쿼리

분류에서Dev

문자열 오류를 매개 변수로 표시하는 쿼리에 대한 재시도 데코레이터를 만드는 방법

분류에서Dev

수백만 개의 레코드가있는 데이터베이스를 쿼리하는 Laravel 5.1

분류에서Dev

2 개의 조건이 충족 된 1 개의 레코드 만 반환하는 SQL 쿼리

분류에서Dev

500 개 미만의 레코드가있는 테이블 만 스캔하도록 SQL 쿼리 제한

분류에서Dev

LINQ 쿼리에 대한 두 개의 GroupBy

분류에서Dev

하나의 테이블 차이가있는 2 개의 쿼리에 대한 UNION

분류에서Dev

여러 행을 결합한 각 레코드에 대해 가변 개수의 열을 반환하는 SQL 쿼리

분류에서Dev

쿼리의 각 레코드에 대한 테이블 함수

Related 관련 기사

  1. 1

    수백만 개의 레코드로 LIMIT 쿼리 속도 향상

  2. 2

    Sequelize : 2 개 이상의 테이블 관계에 대한 OR 쿼리

  3. 3

    특정 위치의 IP 주소 만 찾기위한 ip2location

  4. 4

    2 개 이상의 값을 반환 한 하위 쿼리-특정 날짜의 값으로 날짜 범위에 대한 레코드 업데이트

  5. 5

    백만 개의 레코드가있는 인덱스에서 dynamodb 쿼리

  6. 6

    정의되지 않은 오류가 해결되었지만 이제 쿼리에 대해 예상되는 3 개 대신 1 개의 레코드 만 표시됨

  7. 7

    SQL Server-백만 개의 레코드로이 쿼리 최적화

  8. 8

    MySQL에서 동일한 구조의 테이블에서 2 천만 개 이상의 레코드를 처리하는 방법

  9. 9

    수천 개의 Route 53 레코드 쿼리에 대한 느린 응답

  10. 10

    2 개의 열에 최대 값이있는 테이블에서 레코드를 선택하는 LINQ 쿼리

  11. 11

    여러 상위 개체의 하위 개체에 대한 활성 레코드 쿼리

  12. 12

    백만 개의 레코드에서 쿼리를 매우 느리게 실행하는 MYSQL 서버

  13. 13

    백만 개의 레코드를 빠르게 선택하는 SQL 쿼리

  14. 14

    수백만 개의 행에 대한 PostgreSQL 쿼리는 UUID에서 오래 걸립니다.

  15. 15

    수백만 개의 레코드가있는 테이블에 대한 실시간 집계

  16. 16

    MYSQL은 테이블이 아닌 두 개의 쿼리에서 일치하는 레코드 만 선택한 다음 B 쿼리로 결과를 정렬합니다.

  17. 17

    각 고유 한 열 ID의 레코드 3 개만 가져 오는 쿼리

  18. 18

    Mutli 백만 개의 레코드에서 SQL Select 레코드

  19. 19

    PHP에서 2 개 이상의 조합에서 SQL 쿼리를 사용하여 레코드 표시

  20. 20

    Pandas Dataframe에서 JSON으로 : 1 백만 개의 레코드에 대해 한 줄을 반환합니다.

  21. 21

    개수> = 2이고 열에서 고유 한 경우 레코드를 찾기위한 Oracle 쿼리

  22. 22

    문자열 오류를 매개 변수로 표시하는 쿼리에 대한 재시도 데코레이터를 만드는 방법

  23. 23

    수백만 개의 레코드가있는 데이터베이스를 쿼리하는 Laravel 5.1

  24. 24

    2 개의 조건이 충족 된 1 개의 레코드 만 반환하는 SQL 쿼리

  25. 25

    500 개 미만의 레코드가있는 테이블 만 스캔하도록 SQL 쿼리 제한

  26. 26

    LINQ 쿼리에 대한 두 개의 GroupBy

  27. 27

    하나의 테이블 차이가있는 2 개의 쿼리에 대한 UNION

  28. 28

    여러 행을 결합한 각 레코드에 대해 가변 개수의 열을 반환하는 SQL 쿼리

  29. 29

    쿼리의 각 레코드에 대한 테이블 함수

뜨겁다태그

보관