我目前有一個1,100,000行包含用戶數據的表。對查詢結果運行查詢? (PHP + SQL)
它的格式是有點像這樣:
User_Id Date Action
我在想,而不是每次搜索對整個表由特定用戶在特定日期通過執行以下所做的動作:
SELECT Action FROM USERS_TABLE WHERE Date=08092014 AND User_Id=5
SELECT Action FROM USERS_TABLE WHERE Date=09092014 AND User_Id=5
SELECT Date FROM USERS_TABLE WHERE Action="Shopping" AND User_Id=5
SELECT Date FROM USERS_TABLE WHERE Action="Eating" AND User_Id=5
等
也許我可以做這樣的事情:
SELECT * FROM USERS_TABLE WHERE User_Id=5
並在此查詢結果的頂部,我可以運行上述查詢,我認爲這將導致更快的執行時間(糾正我,如果我錯了)
難道你們知道該怎麼做?
是的,我知道該怎麼做......但你在問什麼?技術? PHP代碼? – 2014-10-17 15:05:46
實際上,mysql服務器存在的全部原因是儘可能快地在多個列上搜索。只要讓這個人做他的工作,並堅持第一個解決方案。如果速度較慢,您可能需要添加指標。 – ToBe 2014-10-17 15:05:50
@JoeSwindell如果可能的話:) – user3146699 2014-10-17 15:06:39