Eliminate slow query from ncenterlite auto read trigger

글읽기시 해당 글과 관련된 알림을 자동으로 읽기 처리해 주는 루틴에서
불필요한 SELECT COUNT(*) 쿼리와 플래그 파일 갱신이 발생하는 문제 수정.

SELECT COUNT(*) 쿼리 없이 무조건 업데이트부터 하고
affected rows 값에 따라 플래그 파일 갱신 여부를 결정하도록 함.
This commit is contained in:
Kijin Sung 2018-01-15 14:01:10 +09:00
parent fa2b2914f2
commit 25369a15f8

View file

@ -575,19 +575,15 @@ class ncenterliteController extends ncenterlite
$oDocument = Context::get('oDocument');
$logged_info = Context::get('logged_info');
if($document_srl && Context::get('is_logged') && $config->document_read == 'Y')
if($document_srl && $config->document_read == 'Y' && $logged_info->member_srl)
{
$notify_count = getModel('ncenterlite')->_getNewCount();
if($notify_count)
$args->srl = $document_srl;
$args->member_srl = $logged_info->member_srl;
$outputs = executeQuery('ncenterlite.updateNotifyReadedBySrl', $args);
if($outputs->toBool() && DB::getInstance()->getAffectedRows())
{
$args->srl = $document_srl;
$args->member_srl = $logged_info->member_srl;
$outputs = executeQuery('ncenterlite.updateNotifyReadedBySrl', $args);
if($outputs->toBool())
{
//Remove flag files
$this->removeFlagFile($args->member_srl);
}
//Remove flag files
$this->removeFlagFile($args->member_srl);
}
}