我想問一下這種方法是否可行。我有一張名爲收入的巨大表格,我經常需要查詢。MySQLi與PHP的臨時表
我想優化,以便我只根據相關的campaign_id查詢。我需要更快地完成查詢!
我認爲可能的解決方案是在我的PHP文件的頂部附近創建一個臨時表,然後在最後刪除臨時表。
在我應該能夠在臨時表上運行更密集的查詢,因爲它有一個更有限的數據集。
我對使用這種方法有點害怕。
- 我對這種方法的一般想法是對的嗎?
- 我是否正確地寫了這些查詢和PHP?
這些表格是否會被正確刪除?我有點擔心臨時桌子四處亂竄,崩潰甚至致命地拖延我的實例。
//Create temporary table for the campaign_id $query = "CREATE TEMPORARY TABLE IF NOT EXISTS earnings_temp AS (SELECT * FROM earnings WHERE earning_paid_campaign_id = ? OR earning_free_campaign_id = ?)"; if ($statement = $mysqli->prepare($query)) { $statement->bind_param("ii", $campaign_id, $campaign_id); $statement->execute(); $statement->close(); } ....VARIOUS QUERIES ON earnings_temp..... //Drop temporary table for campaign_id $query = "DROP TEMPORARY TABLE IF EXISTS earnings_temp"; if ($statement = $mysqli->prepare($query)) { $statement->execute(); $statement->close(); }
對不起,關於代碼格式。該網站必須是竊聽器,因爲如果任何人都可以進行編輯,我不能將它放在{}我欣賞... {0} –
@Gusstavv Gil謝謝:) –
NP;)。格式化程序可能會在某些代碼上出現錯誤。您可以通過在每行前面放置幾個空格來手動將其設置爲代碼格式。我就是這麼做的,因爲{}按鈕也對我產生了影響。 –