반응형
아래 방법 중 어느 것이 더 효율적입니다.
더 긴 단일 쿼리 :
"SELECT COUNT( * ) AS num
FROM (
SELECT users.UID, cnumber
FROM users
JOIN identity ON users.UID = identity.UID
WHERE 'abc'
IN (google, facebook, twitter, linkedin)
) AS userfound
JOIN jobs ON userfound.cnumber = jobs.cnumber
WHERE JID = 24";
if(resultfromquery == 1)
//Some code here
else
//Some code here
긴 쿼리를 여러 단일 테이블 쿼리로 나눕니다.
uid = "SELECT UID FROM identity WHERE 'abc' IN (google, facebook, twitter, linkedin)";
cnumber_from_usertable = "SELECT cnumber FROM users WHERE UID = 'uid'";
cnumber_from_jobtable = "SELECT cnumber FROM jobs WHERE JID = 24";
if(cnumber_from_usertable == cnumber_from_jobtable)
//Some code here
else
//Some code here
해결 방법
마이크로 시차 측정 ;-) 그러나 단일 쿼리를 사용하면 연결이 줄어들고 대기 시간이 줄어들며 이러한 종류의 작업을 처리하도록 설계되었습니다.
<?php
$time = microtime();
$time = explode(' ', $time);
$time = $time[1] + $time[0];
$start = $time;
?>
"SELECT COUNT( * ) AS
FROM (
SELECT users.UID, cnumber
FROM users
JOIN identity ON users.UID = identity.UID
WHERE 'abc'
IN (google, facebook, twitter, linkedin)
) AS userfound
JOIN jobs ON userfound.cnumber = jobs.cnumber
WHERE JID = 24";
if(resultfromquery == 1)
//Some code here
else
//Some code here
<?php
$time = microtime();
$time = explode(' ', $time);
$time = $time[1] + $time[0];
$finish = $time;
$total_time = round(($finish - $start), 4);
echo 'Page generated in '.$total_time.' seconds.';
?>
참조 페이지 https://stackoverflow.com/questions/15875167
반응형
'MySql' 카테고리의 다른 글
MySQL 문자열에 MySQL의 열 문자열이 포함되어 있는지 확인하는 방법은 무엇입니까? (0) | 2021.01.06 |
---|---|
MySQL PHP를 사용하여 MYSQL 테이블에 라디오 버튼 값 추가 (0) | 2021.01.06 |
MySQL MySql INSERT MAX () + 1 문제 (0) | 2021.01.05 |
MySQL find and insert row to another table mysql trigger (0) | 2021.01.05 |
MySQL mysql 워크 벤치를 통해 mysql 데이터베이스로 데이터를 가져 오려면 어떻게해야합니까? (0) | 2021.01.05 |
댓글