>  기사  >  백엔드 개발  >  PHP mysql 쿼리 최적화_php 기술의 간단한 예

PHP mysql 쿼리 최적화_php 기술의 간단한 예

WBOY
WBOY원래의
2016-05-16 20:25:48949검색

이 글은 php mysql 쿼리 최적화 방법을 예제를 통해 분석한 것입니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

PHP Mysql은 가장 많이 사용되는 골든 파트너입니다. 물론, Apache와 함께 사용하면 최고의 성능을 발휘할 수 있습니다.

따라서 mysql 쿼리를 최적화하는 것이 필요합니다. 다음은 다양한 SQL 문이 쿼리 속도에 미치는 영향을 보여주는 간단한 예입니다.

주 인덱스로 자동 증가된 ID를 갖는 테이블 테스트가 있습니다. 이제 ID 번호가 특정 범위 내에 있는 레코드를 쿼리하려면 다음 SQL 문을 사용할 수 있습니다.

코드 복사 코드는 다음과 같습니다.
SELECT *
`테스트`에서
ID 오름차순으로 주문
제한 208888,50

이 SQL문의 의미는 ID 번호 208888의 레코드부터 시작하여 50개의 레코드를 가져와서 300,000개의 레코드가 있는 데이터베이스에서 테스트한다는 것입니다. 50초 더 빠르게 실행할 수 있는 SQL 문이 있습니까? 분명히 있습니다. 다음 SQL 문을 살펴보세요.
코드 복사 코드는 다음과 같습니다.
SELECT *
`테스트`에서
ID는 어디에
208838년 사이
그리고 208888

이 문장은 조건을 사용하여 필터링하는데, 실제 테스트 실행 시간은 약 0.06초 정도입니다.

이유는 id 속성에 이미 인덱스가 있지만 정렬은 여전히 ​​매우 비용이 많이 드는 작업이므로 주의해서 사용해야 하기 때문입니다. 두 번째 문을 사용하면 MySql이 데이터베이스에 이미 생성된 정보를 최대한 활용할 수 있습니다. B-트리 인덱스라서 검색 속도가 꽤 빨라서 원본보다 수백배 빠릅니다.

웹사이트 개발자는 SQL문을 사용할 때 주의해야 한다고 볼 수 있는데, 부주의한 SQL문으로 인해 웹사이트 접속 속도가 급격하게 떨어지고, 백엔드 데이터베이스에 엄청난 압박을 가해 빠르게 딜레마에 빠질 수 있기 때문입니다. 페이지를 열 수 없습니다.

이 글이 모든 분들의 php mysql 프로그래밍에 도움이 되기를 바랍니다.

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