2010-07-25 2 views
3

MySQL에서 할 수있는 작업을 수행하기 위해 PHP에 몇 가지 코드가 있습니다. 등등, 다른 MySQL의 테이블에서 각각의 데이터를 병합, 분류 등의MySQL 또는 PHP에 작업을 제공 하시겠습니까?

...

는 최근에, 나는 하나 개의 MySQL의 쿼리로 모든 물건을 할 수 있다는 것을 발견했다.

MySQL 또는 PHP에 MySQL 가능 작업을 제공하는 것이 더 나은지 궁금합니다. 효율성, 속도, 등 ..

는 MySQL이 그 일을 처리 할 경우

+0

나는 이것에 대한 확실한 대답을 원합니다. 일반적으로 필자는 PHP 기술이 SQL 기술보다 강하기 때문에 PHP를 사용하지만 실제로는 훨씬 빠르고 효율적이라면 내장 된 MySQL 함수를 사용하기 시작합니다. – ubiquibacon

답변

2

당신이 PHP에서 그것을 할 경우, 당신은 그냥 다시 구현하는 MySQL은 이미이 기능을. 가장 최적화 된 솔루션과는 거리가 멀기 때문에 속도가 훨씬 느립니다.

반드시 SQL 쿼리에서 수행해야합니다.

2

귀하의 성능이 증가합니다, 감사합니다.

1

에 있습니다. 보다 효율적인 질문은 없습니다. PHP는 더 많은 메모리를 사용합니다.

2

MySQL에서 이렇게하는 것이 더 좋습니다. 첫째, 데이터 정렬 알고리즘을 최적화하고 생성 된 인덱스를 활용할 수 있습니다. 또한 병합 및 필터링을 수행하면 데이터베이스에서 더 적은 데이터를 전송하게됩니다.

2

데이터베이스는 데이터를 검색하는 동안 이러한 기능을 수행하도록 최적화되어 있습니다. 데이터베이스 레벨에서의 정렬은 목록이나 콜렉션에 대해 PHP로 코딩 할 때 수십 줄의 코드를 작성하는 것보다 훨씬 쉽습니다.

데이터베이스에서 데이터를 검색하는 동안 데이터를 병합하기 위해 준비된 문자열 함수가 있습니다.

나는 확실히 MySQL을 제안 할 것이다.

칼팍 Luniya

1

질문 : MySQL은이를 위해 만들어졌습니다. 무언가를 추가하려면 조인 테이블 쿼리 (다중 테이블 쿼리)를 작성하는 것이 좋을지도 모릅니다. 그것은 매우 유용하고 매우 간단합니다. 예를 들면 다음과 같습니다.

$query = "SELECT DISTINCT post.title as title, post.id as id, 
        product.imageURL as imageURL, product.dueDate as dueDate 
        FROM post, product 
        WHERE post.status='saved' 
        AND post.productURL=product.linkURL 
        AND post.userEmail='$session[userEmail]' 
        AND NOT EXISTS(
         SELECT publication.postId FROM publication 
         WHERE publication.postId=post.id 
         ) 
        ORDER BY post.id"; 

이 코드는 제가 작성한 간단한 코드입니다. 두 가지 테이블을 post.productURL = product.linkURL의 제한과 병합합니다. 또한 부정을 사용하여 찾고있는 집합이 조건에 의해 정의되지 않고 대신 존재하지 않을 때 유용합니다. MySQL에서 뷰를 빌드하여이를 피할 수 있습니다.

나는 초보자이기 때문에 도움이되기를 바랍니다. 건배.

관련 문제