대량의 다단계 분류 데이터에 대한 쿼리를 가장 빠르게 획득, 캐시 및 검색하는 방법을 설계하는 방법은 무엇입니까?

WBOY
풀어 주다: 2023-03-02 07:04:02
원래의
1260명이 탐색했습니다.

1. 대용량
2. 다단계 분류
3. 모든 데이터를 먼저 얻어야 합니다
4. 모든 데이터를 얻은 후 검색 기능이 있어야 합니다. 레벨에 상관없이 획득한 검색명과 일치하는 상위, 하위는 모두 빨간색으로 표시됩니다.)

이제 모든 데이터를 가져오고 나중에 검색하는 데 한 가지 방법을 사용합니다. 예를 들어 이제 검색을 시작하는 대신 모든 데이터가 있어야 합니다. 중복 항목을 제거하겠습니다. 이 ID를 통해 모든 정보를 가져온 다음 검색과 일치하는 글꼴 색상을 변경하고(검색에 공통) 마지막으로 이를 트리 구조 데이터로 결합합니다.

데이터 양이 많아서 기존 루프가 느릴 수 있다는 느낌이 듭니다

모든 데이터를 검색하고 초기화하는 두 가지 별도의 방법을 작성하여 어떻게 최적화할 수 있나요?

그리고 초기화할 때마다 다시 확인하지 않아도 되도록 캐시를 추가했는데, 검색하면 그래도 확인을 해야 하는 경우도 있습니다. 데이터 양은 적지만 주기 수가 너무 많으면 더 좋습니다. 캐시를 두 번 캐시하는 방법이 있나요? thinkphp 프레임워크의 S 메소드 캐시
공유해 주셔서 감사합니다

답글 내용:

1. 대용량
2. 다단계 분류
3. 모든 데이터를 먼저 얻어야 합니다
4. 모든 데이터를 얻은 후 검색 기능이 있어야 합니다. 레벨에 상관없이 획득한 검색명과 일치하는 상위, 하위는 모두 빨간색으로 표시됩니다.)

이제 모든 데이터를 가져오고 나중에 검색하는 데 한 가지 방법을 사용합니다. 예를 들어 이제 검색을 시작하는 대신 모든 데이터가 있어야 합니다. 중복 항목을 제거하겠습니다. 이 ID를 통해 모든 정보를 가져온 다음 검색과 일치하는 글꼴 색상을 변경하고(검색에 공통) 마지막으로 이를 트리 구조 데이터로 결합합니다.

데이터 양이 많아서 기존 루프가 느릴 수 있다는 느낌이 듭니다

모든 데이터를 검색하고 초기화하는 두 가지 별도의 방법을 작성하여 어떻게 최적화할 수 있나요?

그리고 초기화할 때마다 다시 확인하지 않아도 되도록 캐시를 추가했는데, 검색하면 그래도 확인을 해야 하는 경우도 있습니다. 데이터 양은 적지만 주기 수가 너무 많으면 더 좋습니다. 캐시를 두 번 캐시하는 방법이 있나요? thinkphp 프레임워크의 S 메소드 캐시
공유해 주셔서 감사합니다

  1. 루프를 사용하여 데이터베이스를 쿼리하지 않는 한 대부분의 경우 루프가 데이터베이스 쿼리보다 몇 배 더 빠르다고 생각하지 마세요.

  2. 대부분의 경우 select...in이 기본 키나 인덱스에 도달하면 결과 집합은 몇 백 이내가 되며, 실제 상황에 따라 효율성을 유지할 수 있습니다.

  3. 데이터량이 정말 많고, 필터링 조건도 많고, 단어분할 검색도 있는 경우에는 검색엔진, ElasticSearch, Sphinx 등의 이용을 고려해보시기 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿