이 글에서는 주로 PHP의 mysqli_query 매개변수인 MYSQLI_STORE_RESULT와 MYSQLI_USE_RESULT의 차이점을 소개합니다. 이 글에서는 이 두 매개변수의 5가지 차이점을 소개합니다. 필요한 친구는 이를 참조할 수 있습니다.
nosql이 되었지만 인기가 많은데, SQL이 여전히 주류인 것 같아요
오늘 php manul을 검색하다가 mysqli 쿼리가 흥미로운 매개변수를 전달할 수 있다는 것을 발견했습니다
@mysqli_query($this->sql,$SQL,($method ? MYSQLI_USE_RESULT : MYSQLI_STORE_RESULT));
php manul에서 이 두 가지에 직면했습니다. 매개변수가 설명되어 있습니다. 이와 같이.
Either the constant MYSQLI_USE_RESULT or MYSQLI_STORE_RESULT depending on the desired behavior. By default, MYSQLI_STORE_RESULT is used.
아무것도 전달되지 않으면 기본값은 MYSQLI_STORE_RESULT입니다.
phpmanul에서 누군가 이렇게 말했습니다. 많은 양의 데이터를 검색해야 한다면 MYSQLI_USE_RESULT를 사용합니다.
사실 이 두 매개변수의 차이는 여전히 매우 큽니다.
(1) 차이점은 서버에서 결과 집합의 행을 검색한다는 점입니다.
(2) MYSQLI_USE_RESULT는 쿼리를 시작하지만 실제로 행을 가져오지 않습니다.
(3) MYSQLI_STORE_RESULT는 모든 행을 즉시 검색합니다.
(4) MYSQLI_STORE_RESULT는 결과 집합이 서버에서 검색될 때 행을 가져오고 할당합니다. 메모리를 클라이언트에 저장한 다음 mysqli_fetch_array()를 호출하면 오류가 반환되지 않습니다. 이는 결과 집합을 유지하는 데이터 구조에서 행만 분리하기 때문입니다. mysqli_fetch_array()는 항상 NULL을 반환합니다. 결과 집합의 끝에 도달했음을 나타냅니다.
(5) MYSQLI_USE_RESULT 자체는 행을 검색하지 않고 행 단위 검색만 시작합니다. 즉, 각 행에 대해 mysqli_fetch_array()를 호출하여 자체적으로 완료해야 함을 의미합니다. 그런 경우에는 일반적인 상황에서 mysqli_fetch_array()가 NULL을 반환하는 것은 여전히 결과 집합의 끝에 도달했음을 나타내지만 서버와 통신하는 동안 오류가 발생했음을 나타낼 수도 있습니다.
요약
MYSQLI_USE_RESULT에 비해 MYSQLI_STORE_RESULT는 더 높은 메모리 및 처리 요구 사항을 갖습니다. 전체 결과 세트가 클라이언트에 유지되므로 메모리 할당 및 데이터 구조 생성 비용이 매우 큽니다. 예, 한 번에 여러 행을 검색하려면 MYSQLI_USE_RESULT를 사용하세요.
MYSQLI_USE_RESULT는 처리되는 각 단일 행에 충분한 공간만 할당되므로 메모리 요구 사항이 더 낮습니다. 결과 집합에 대해 복잡한 데이터 구조를 만들 필요가 없기 때문에 더 빠릅니다. 반면 MYSQLI_USE_RESULT는 서버에 더 많은 로드를 가하므로 클라이언트가 모든 행을 검색하는 데 적합해 보일 때까지 결과 집합의 행을 유지해야 합니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

Dreamweaver Mac版
시각적 웹 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음
