我正在處理一些報告,並認爲我需要使用臨時表。我的代碼執行api調用,以獲取當天與該系統交互的所有用戶cookie。mysql中的臨時表問題
現在我有一張包含所有cookie和他們使用的瀏覽器類型的表格,我可以循環訪問由api提供的cookie數組,然後爲每個瀏覽器執行sql查找計數器,所以最終我可以報告不同瀏覽器完成的瀏覽器訪問次數。
但是,正如你可以想象,如果有餅乾(有)的分配可能需要很長的時間。
從我所知道的解決辦法是讓傳給我的Cookie臨時表和innerjoin到我的cookie數據表,然後做一個
select count(id),broswer ... group by browser
下面是一個更加代碼視圖什麼我想嘗試做:
$json = file_get_content($apiURL);
$cookies = '';
foreach($json as $val){$cookies .= ','.$val['cookie']; }
$cookies = substr($cookies,1);
mysql_query('CREATE TEMPORARY TABLE passedcookies (
`cookie` varchar(200) NOT NULL,
PRIMARY KEY(cookie)
) values ($cookies);')
mysql_query('SELECT count(cd.id), cd.browser FROM cookiedata cd
INNER JOIN passedcookies pc
ON pc.cookie = cd.cookie
GROUP BY cd.browser;');
mysql_query('DESTROY TEMP TBL;');
我是否必須銷燬臨時表?什麼時候銷燬?如果3個用戶運行該報告,每個用戶都將獲得他們自己的臨時表?
感謝您的幫助