>  기사  >  데이터 베이스  >  mysqli와 mysql의 차이점은 무엇입니까

mysqli와 mysql의 차이점은 무엇입니까

青灯夜游
青灯夜游원래의
2022-01-04 17:10:587369검색

차이점: 1. mysqli 연결은 영구 연결인 반면, mysql 연결은 비영구 연결입니다. 2. mysql 연결은 두 번째로 사용될 때마다 새 프로세스를 다시 시작하는 반면, mysqli 연결은 항상 동일한 프로세스를 사용합니다.

mysqli와 mysql의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

1. mysql과 mysqli의 차이점:

mysqli 연결은 영구 연결인 반면 mysql은 비영구 연결입니다.

mysql 연결: 두 번째 사용될 때마다 새로운 프로세스가 다시 열립니다.

mysqli 연결: 항상 동일한 프로세스를 사용합니다.

이점: 이는 서버 측의 부담을 크게 줄일 수 있습니다.

물론, mysql에도 영구 연결이 필요한 경우 mysql_pconnect() 함수를 사용할 수 있습니다

2 mysqli의 사용:

1 mysqli의 프로세스 중심 사용:

$conn = mysqli_connect('localhost', 'root', '123', 'db_test') or ('error');
$sql = "select * from db_table";
$query = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($query)){
    echo $row['title'];
}

2 . mysqli 객체 지향 사용

$conn = mysqli('localhost', 'root', '123', 'db_test');
$sql = "select * from db_table";
$query = $conn->query($sql);
while($row = $query->fetch_array()){
    echo $row['title'];
}

3. mysql_pconnect 및 mysqli_connect:

1. mysql_pconnect에 의해 열린 연결은 닫히지 않습니다(mysql_close가 호출되더라도 유효하지 않기 때문에 닫히지 않습니다). 연결 버퍼 풀과 유사합니다. 다음에 동일한 시스템의 동일한 사용자 이름으로 동일한 데이터베이스에 연결되면 PHP는 새 연결을 다시 설정할 필요 없이 지난번에 설정된 연결을 자동으로 사용합니다.

이점: 매번 데이터베이스 연결을 설정하는 비용이 절약됩니다.

단점: 일부 메모리를 낭비하고 일부 연결을 차지해야 합니다.

그래서 대규모 사용자 방문이 발생하면 오류가 발생합니다. mysql의 max_connections를 변경하십시오. 매개변수를 더 큰 크기로 변경하거나 mysql_connect()를 사용하면 문제가 해결됩니다.

2. 간단히 말해서 MySQL_pconnect는 PHP와 MySQL 사이의 지속적인 연결을 설정하는 데 사용됩니다. 일반적으로 PHP의 실행 모드는 스크립트가 실행되기 시작할 때 모든 리소스를 초기화하고 스크립트가 완료된 후 모든 리소스를 해제하는 것입니다.

MySQL_pconnect 방식은 다릅니다. MySQL_connect는 매번 tcp 등을 통해 SQL Server와 관계를 다시 설정하며 각 연결은 많은 서버 리소스를 소비합니다.

3. pconnect를 사용할 때 MySQL에 연결하라는 요청이 있으면 PHP는 이전에 동일한 연결(동일한 사용자 이름과 비밀번호로 동일한 MySQL 서버에 연결됨)이 설정되었는지 확인합니다. 동일한 연결의 개념은 서로 다른 프로세스가 MySQL_pconnect에 연결될 때 여러 연결이 설정된다는 점에 유의할 가치가 있습니다.

4. Connect와 pconnect는 기능적 차이를 가져오지 않으며 성능 차이만 가져옵니다.

5. 일반적으로 PHP에는 두 가지 작동 모드가 있습니다. 하나는 CGI로 실행되고 다른 하나는 Apache 모듈로 실행됩니다.

6. cgi로 작업할 때 connect는 pconnect와 다르지 않습니다. 왜냐하면 cgi가 실행될 때마다 리소스가 삭제되고 정리되기 때문입니다.

[관련 권장 사항: mysql 비디오 튜토리얼]

위 내용은 mysqli와 mysql의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.