0
我有一個問題在這裏。我正在使用下面的查詢。我正在使用循環來運行此查詢?
我該如何運行這個查詢沒有循環?
我不想在foreach中運行查詢嗎?我怎樣才能做到這一點 ?
我使用正確的方法來運行此查詢?
加載需要時間。有沒有優化來實現這一目標?
我需要執行一個多重查詢來一次運行它們嗎?
<?php
$year = "2016";
$start = new DateTime($year.'-01-01');
$start->modify('first day of this month');
$end = new DateTime($year.'-12-31');
$end->modify('first day of next month');
$interval = DateInterval::createFromDateString('1 month');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $dt) {
$calcstart_date = $dt->format("Y-m-d").' 00:00:00';
$calcend_date = $dt->format("Y-m-t").' 11:59:00';
$month_name = $dt->format('M');
$test_submitted_query = db_query("
SELECT requester_id, email, username, is_dashboard_user, SUBMITTED_ON
FROM testing_a, aspusers a
WHERE requester_id=a.user_id
AND AD_MAIL_ATTRIBUTE IS NOT NULL
AND IS_DASHBOARD_USER = 'y'
AND SUBMITTED_ON >= timestamp '$calcstart_date'
AND SUBMITTED_ON <= timestamp '$calcend_date'
");
}
?>
你在與查詢結果做什麼? 您可以始終堆疊SQL查詢並執行多重查詢以一次全部運行它們? –
yes your'e right @PhilipThomson –
我假設加載時間是因爲SQL查詢運行效率低下。放入一些執行時間檢查以查看哪些部件運行緩慢: '$ time_start = microtime(true); //腳本中的任何地方 echo'以秒爲單位的總執行時間:'。 (microtime(true) - $ time_start);' –