현재 위치: > 최신 기사 목록> 마이크로 타임 ()을 사용하여 쿼리를 테스트하고 시간을 읽습니다

마이크로 타임 ()을 사용하여 쿼리를 테스트하고 시간을 읽습니다

M66 2025-05-28

Microtime ()을 사용하여 MySQLI_RESULT 쿼리의 특정 시간 소모를 테스트하고 데이터를 읽는 방법은 무엇입니까?

PHP에서는 일반적으로 데이터베이스 쿼리 작업의 실행 시간을 테스트해야합니다. 시스템의 성능을 최적화하려면 각 작업의 시간 소모를 이해하는 것이 중요합니다. 마이크로 타임 () 함수는 마이크로 초 부분을 포함하는 현재 UNIX 타임 스탬프를 반환하는 매우 유용한 도구로서 정확한 시간 측정을 할 수 있도록 도와줍니다. 이 기사는 Microtime ()을 사용하여 MySQLI_RESULT 쿼리의 특정 시간 소모를 테스트하고 데이터를 읽는 방법을 보여줍니다.

1. MySQL 데이터베이스에 연결하십시오

먼저 MySQLI 확장을 사용하여 데이터베이스에 연결하십시오. 여기에서 이미 데이터베이스 서버가 실행 중이며 다음 코드를 통해 연결할 수 있다고 가정 해 봅시다.

 <?php
$host = 'localhost';
$username = 'root';
$password = '';
$database = 'testdb';

$conn = new mysqli($host, $username, $password, $database);

// 연결이 성공했는지 확인하십시오
if ($conn->connect_error) {
    die("연결이 실패했습니다: " . $conn->connect_error);
}
?>

2. 마이크로 타임 ()을 사용하여 쿼리 시작 시간을 측정하십시오

마이크로 타임 () 함수는 현재 UNIX 타임 스탬프를 마이크로 초까지 반환합니다. 쿼리가 시작되는 시간을 기록하는 데 사용합니다.

 <?php
// 쿼리가 시작된 시간을 얻으십시오
$start_time = microtime(true);
?>

3. 데이터베이스 쿼리를 실행하십시오

여기서는 데이터베이스에서 데이터를 얻기 위해 간단한 SQL 쿼리를 실행합니다. 모든 쿼리 일 수 있습니다. 여기에서 사용자 테이블에서 모든 데이터를 선택하는 쿼리라고 가정합니다.

 <?php
$query = "SELECT * FROM users";
$result = $conn->query($query);

if (!$result) {
    die("쿼리가 실패했습니다: " . $conn->error);
}
?>

4. 쿼리 결과를 읽으십시오

쿼리가 성공적으로 실행되면 결과를 읽기 시작하고 데이터를 읽는 데 걸리는 시간을 측정합니다. 우리는 Microtime ()을 사용하여 읽기 데이터가 시작되는 시간을 기록합니다.

 <?php
// 읽기 데이터가 시작되는 시간을 얻으십시오
$read_start_time = microtime(true);

// 모든 결과를 읽으십시오
while ($row = $result->fetch_assoc()) {
    // 여기에서 각 데이터 행을 처리 할 수 ​​있습니다
    // 예:echo $row['name'];
}

// 읽기 데이터가 끝나는 시간을 얻으십시오
$read_end_time = microtime(true);
?>

5. 시간이 많이 걸리는 측정 쿼리 및 시간 소모적 판독 값

마지막으로, 쿼리의 시작부터 데이터 읽기 완료까지 시간이 많이 걸리는 프로세스를 계산할 수 있습니다. 다음은 계산 방법에 대한 코드입니다.

 <?php
// 시간이 많이 걸리는 질문
$query_time = $read_start_time - $start_time;

// 읽을 시간
$read_time = $read_end_time - $read_start_time;

// 출력 결과
echo "시간이 많이 걸리는 질문: " . round($query_time, 5) . " 두번째<br>";
echo "데이터를 읽을 시간: " . round($read_time, 5) . " 두번째<br>";
?>

6. 데이터베이스 연결을 닫습니다

쿼리 및 데이터 읽기를 완료 한 후에는 데이터베이스 연결을 닫는 것을 잊지 마십시오.

 <?php
$conn->close();
?>

7. 샘플 코드를 완료하십시오

이전 단계를 정리하면 다음은 완전한 코드 예입니다.

 <?php
$host = 'localhost';
$username = 'root';
$password = '';
$database = 'testdb';

$conn = new mysqli($host, $username, $password, $database);

if ($conn->connect_error) {
    die("연결이 실패했습니다: " . $conn->connect_error);
}

// 쿼리가 시작된 시간을 얻으십시오
$start_time = microtime(true);

// 쿼리를 실행하십시오
$query = "SELECT * FROM users";
$result = $conn->query($query);

if (!$result) {
    die("쿼리가 실패했습니다: " . $conn->error);
}

// 읽기 데이터가 시작되는 시간을 얻으십시오
$read_start_time = microtime(true);

// 모든 결과를 읽으십시오
while ($row = $result->fetch_assoc()) {
    // 여기에서 각 데이터 행을 처리 할 수 ​​있습니다
    // 예:echo $row['name'];
}

// 읽기 데이터가 끝나는 시간을 얻으십시오
$read_end_time = microtime(true);

// 시간이 많이 걸리는 질문
$query_time = $read_start_time - $start_time;

// 읽을 시간
$read_time = $read_end_time - $read_start_time;

// 출력 결과
echo "시간이 많이 걸리는 질문: " . round($query_time, 5) . " 두번째<br>";
echo "데이터를 읽을 시간: " . round($read_time, 5) . " 두번째<br>";

// 데이터베이스 연결을 닫습니다
$conn->close();
?>

요약

Microtime () 함수를 사용하면 MySQL 쿼리의 실행 시간과 데이터 읽기 시간을 정확하게 측정 할 수 있습니다. 이는 데이터베이스 쿼리를 최적화하고 응용 프로그램 성능을 향상시키는 데 매우 도움이됩니다. 필요에 따라 쿼리 문을 수정하거나 다른 데이터베이스 작업에 따라 최적화 할 수 있습니다.