2011-05-13 6 views
0

한 페이지에서 두 개 이상의 쿼리를 관리하는 가장 좋은 방법은 무엇입니까? 나는 하나의 페이지에서 4 개의 다른 쿼리를 사용하고 있는데, 그 중 하나는 변수 $ 쿼리를 연속적으로 사용하기 때문에 페이지의 각 쿼리가 다른 영역에 위치하고 페이지가 위에서 아래로로드 될 때마다 각 쿼리가 완료됩니다.1 페이지에서 많은 검색어를 관리하는 방법은 무엇입니까?

각 쿼리를 별도의 파일에 배치하고 데이터를 에코하는 영역에 포함 시켰습니다. 이거 나쁜거야? 각각의 파일을 하나의 파일에 넣고 각 쿼리에 별도의 변수 (예 : $ result 1, $ row1)를 사용하고 두 번째 쿼리 $ result 2, $ row2를 네 번째로 사용해야합니다.

감사

+0

검색어가 겹칠 수 있다고 생각되면 다른 '검색어'변수를 추가하면됩니다. 보유한 메모리만큼 쿼리를 추가 할 수 있습니다. – elvenbyte

+1

우리는 코드 –

답변

0

필자는 개인적으로 쿼리에 대해 항상 같은 변수를 사용하는 것은 좋지 않습니다. 특히 $ numberOfMessages, $ countUsers와 같은 의미있는 이름이 있어야하는 결과에 대해서는 ... 가장 중요한 점은 코드는 그것을 유지해야 할 수도있는 다른 사람들이 읽을 수 있습니다. 변수에 대해 의미있는 이름을 쓰는 데 약간의 시간을 투자하십시오.

쿼리에 관해서는 한 페이지에서 4 개의 쿼리를 사용하는 것이 문제가 아니라 쿼리가 원하는 데이터 만 검색하는지 확인하십시오. 많은 데이터를 가져 오기 때문에 쿼리를 최적화하는 데 약간의 시간을 투자하십시오. mysql은 성능 저하 요인이다.

EDIT 예를 들어

내가 사용

//import the db configuration 
require_once (JPATH_COMPONENT . DS . 'libs/confDbSugarcrm.php'); 
$db =& JFactory::getDBO(); 
//list your queries (i use joomla classes in this example) 

$sqlUsers = "select id, name from table_users"; 
$db->setQuery($sqlUsers); 
$usersIdName = $db->loadObjectList(); 


$sqlNumberOfMessages = "select count(id) as how_many from table_messages"; 
$db->setQuery($sqlNumberOfMessages); 
$numberOfMessages = $db->loadResult(); 

등등 ... 당신이 코드를 읽을 수있는, 당신이 충돌하는을 피할이 방법은 이름이 ... 당신의 삶입니다 variabales 쉽게 생각 (그리고 변수에 대해 다양하고 의미있는 이름을 사용하는 것이 좋습니다.)

+0

내가 그 (것)들에게 모든 뜻 깊은 가변을주는 경우에 그 때, 나는 페이지의 정상에 포함되는 1 개의 파일 전부에서 그 (것)들을 포함해야한다 또는 나는 실제적인 페이지 또는 분리되는 파일에서 그 (것)들을 남겨 두어야 하는가? – Deep

+0

나는 대개 인라인으로 두어 명확하게 그룹화한다. 어떤 결과가 어떤 SQL에 연결되어 있는가 ... 보통 한 곳에서만 구성 파일을 가질 수 있도록 외부에 구성 파일을 남긴다. 내 대답을 편집하여 예제를 보여주었습니다 –

+0

MVC 패턴을 사용하는 경우 물론 (http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%의 의미를 찾으십시오. 93controller) 당신은 모델 부분에있는 모든 SQL과 쿼리를 가지게 될 것입니다. 제 예제에서는 단지 간단한 코드 조각입니다. –

1

포럼, 온라인 카트 프로그램과 같은 종종 페이지 당 10 개 또는 20 개 이상의 쿼리를해야합니다. 네가 똑바로 죽이지는 않을거야.

+0

을 알 수 있습니까? 알 수 있습니다. 그러나 실제 페이지 나 포함 된 별도의 페이지 또는 세 번째 옵션에서 모두 가져와야하나요? – Deep

+0

인라인 모드로 두어도 아무런 문제가 없습니다. 코드가 엉망인 것처럼 보이는 경우 매개 변수를 제공하는 각 쿼리에 대해 여러 함수를 사용하여 파일을 만들 수 있으며 함수의 매개 변수를 기반으로 사용자 지정된 쿼리를 반환합니다. –

관련 문제