>  기사  >  백엔드 개발  >  PHP 개발 시 어떤 문제에 직면하게 되나요?

PHP 개발 시 어떤 문제에 직면하게 되나요?

藏色散人
藏色散人원래의
2019-10-26 09:59:082502검색

PHP 개발 시 어떤 문제에 직면하게 되나요?

PHP 개발 시 어떤 문제에 직면하게 되나요?

PHP 개발에서 흔히 발생하는 10가지 문제

1. InnoDB 대신 MyISAM을 사용하세요

MyISAM이 기본적으로 사용됩니다. 그러나 아주 간단한 데이터베이스를 구축하거나 실험적으로 수행하는 것이 아니라면 대부분의 경우 이는 잘못된 선택입니다. MyISAM은 데이터 무결성 보장의 핵심인 외래 키 제약 조건을 지원하지 않습니다. 또한 MyISAM은 데이터를 추가하거나 업데이트할 때 전체 테이블을 잠그므로 향후 확장 성능에 큰 문제가 발생할 수 있습니다.

2. PHP의 mysql 방식을 사용하세요

PHP는 처음부터 MySQL 함수 라이브러리를 제공했습니다. 많은 프로그램이 mysql_connect, mysql_query, mysql_fetch_assoc 등에 의존합니다.

3. 사용자 입력을 필터링하지 않음

다음과 같아야 합니다. 사용자 입력을 신뢰하지 마세요. 백엔드 PHP를 사용하여 각 입력 정보를 확인하고 필터링합니다. Javascript를 신뢰하지 마십시오.

4. UTF-8을 사용하지 마세요

UTF-8은 많은 국제화 문제를 해결합니다. PHP6은 이 문제를 더 완벽하게 해결할 수 있지만 MySQL의 문자 집합을 UTF-8로 설정하는 것을 막지는 않습니다.

5. SQL을 사용해야 하는 곳에는 PHP를 사용하세요

MySQL을 처음 사용하는 경우 문제를 해결할 때 먼저 익숙한 언어 사용을 고려할 수 있습니다. 이로 인해 약간의 낭비가 발생하고 성능이 저하될 수 있습니다. 예를 들어, 평균을 계산할 때 MySQL 기본 AVG() 메서드는 사용되지 않습니다. 대신 PHP를 사용하여 모든 값을 반복한 다음 누적하여 평균을 계산합니다.

PHP 개발에서 겪게 되는 어려움은 무엇입니까_PHP 개발에서 흔히 발생하는 10가지 문제 목록

6. 쿼리를 최적화하지 않음

PHP 성능 문제의 99%는 잘못된 SQL 문으로 인해 발생할 수 있습니다. 전체 프로그램이 매우 느립니다. MySQL의 EXPLAIN 문, 쿼리 프로파일러 및 기타 여러 도구를 사용하면 이러한 잘못된 SELECT를 찾는 데 도움이 될 수 있습니다.

7. 잘못된 데이터 유형 사용

MySQL은 숫자, 문자열, 시간 등과 같은 일련의 데이터 유형을 제공합니다. 날짜를 저장하려면 DATE 또는 DATETIME 유형을 사용하세요. 정수나 문자열을 사용하면 상황이 더 복잡해집니다.

8. SELECT 쿼리에 *를 사용하세요

테이블의 모든 필드를 반환하려면 *를 사용하지 마세요. 속도가 매우 느려집니다. 필요한 데이터 필드만 꺼내면 됩니다. 모든 필드를 제거해야 한다면 테이블을 변경해야 할 수도 있습니다.

9. 과소 색인 또는 과잉 색인

일반적으로 SELECT 문에서 WHERE 뒤에 나타나는 모든 필드는 색인이 생성되어야 합니다.

10. 백업하지 않음

자주 발생하지는 않지만 데이터베이스 손상, 하드 디스크 장애, 서비스 중단 등으로 인해 데이터에 치명적인 손상이 발생합니다. 따라서 데이터를 자동으로 백업하거나 복사본을 저장해야 합니다.

PHP 관련 지식을 더 보려면 PHP 중국어 웹사이트를 방문하세요!

위 내용은 PHP 개발 시 어떤 문제에 직면하게 되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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