我有一個數據庫中的任何數量的用戶(這可能是100,2000或3)我在做什麼是使用mysql「顯示錶」和存儲表名稱在一個數組,然後我運行一個while循環,並獲取每個表名稱(用戶的名稱)並將其插入到一些代碼中,然後我爲每個表名稱運行一段代碼。擁有3個用戶,該腳本大約需要20秒。它使用Twitter API並執行一些mysql插入。這是否是最有效的方式?最有效的方法來做到這一點PHP腳本
回答
當然不是!
我不明白爲什麼你將每個用戶存儲在他們的表中。你應該創建一個users
表並從那裏選擇。
它將在0.0001秒內運行。
更新:
表中有行和列。您可以將多個用戶存儲在行中,並將每個用戶的信息存儲在列中。
請嘗試一些數據庫設計教程/書籍,他們會幫助你很多。
我這樣做是因爲每個用戶都有一個名爲tweet_id和tweet的列。我將如何做到這一點,但有一個表稱爲用戶? – benhowdle89
我會解決這個問題,只需添加一下,查看通用數據庫設計。這可能會讓其他開發者感到驚訝,但我實際上聽說過其他人提出過這個設計想法。老實說,我不確定這個想法源自於對錶格之間的連接缺乏理解,但是,唉,這是最好的答案。我可以想象世界上沒有生產系統會爲每個用戶創建表格。這是瘋狂。 – cgp
如果您擔心爲同一用戶表中的每個用戶存儲多個條目,則可以爲推文指定一個單獨的表,其中tweet_id指向用戶。
我肯定會去一個用戶表。
好吧,聽起來不錯。我想每個人都比桌子好多了 – benhowdle89
數據庫針對處理多行進行了優化;一些使用的技術是索引,磁盤上數據的物理佈局等。許多表上的操作總是會比較慢 - 這不僅僅是RDBMS的目標。
有一個例外 - 有時您通過分片(分區數據)優化數據庫,但這種方法具有與缺點一樣多的優點。其中一個缺點是像你所描述的查詢需要很長時間。
您應該將所有用戶放在一張表中,因爲從邏輯角度來看 - 它們代表一個實體。
- 1. NSArray最有效的方法來做到這一點:
- 2. PHP If/Else - 更有效的方法來做到這一點?
- 3. 有沒有更有效的方法來做到這一點?
- 4. JQuery setTimeout - 更有效的方法來做到這一點?
- 5. 有沒有更好的方法來做到這一點在PHP
- 6. 有沒有更高效的方法來做到這一點PHP代碼
- 7. .htaccess有沒有更高效的方式來做到這一點?
- 8. jQuery:有一個更有效的方法來做到這一點,不是嗎?
- 9. 排序字典...有效的方式來做到這一點?
- 10. 混帳:更有效的方式來做到這一點
- 11. jquery驗證 - 有沒有更有效的方法來做到這一點?
- 12. 有沒有更有效的方法來做到這一點,如果/其他?
- 13. 有沒有更好或更有效的方法來做到這一點?
- 14. 什麼是最有效的方式來做到這一點(jQuery的片段)?
- 15. Javascript:內存高效的方式來做到這一點效果
- 16. 有沒有一個更好的方法來做到這一點 - php max()
- 17. 一個更簡單和有效的方法來做到這一點?
- 18. PHP - 更快的方法來做到這一點?
- 19. 有沒有更好的方法來做到這一點?
- 20. 有沒有更簡單的方法來做到這一點?
- 21. 有沒有更快的方法來做到這一點?
- 22. 有沒有更快的方法來做到這一點?
- 23. 有沒有更好的方法來做到這一點?
- 24. 有沒有更好的方法來做到這一點?
- 25. 有沒有更簡單的方法來做到這一點?
- 26. 有沒有更好的方法來做到這一點?
- 27. 有沒有更多的CoffeeScripty方法來做到這一點?
- 28. 有沒有更好的方法來做到這一點? BASH
- 29. 最有效的方法來保存方式點和做比較?
- 30. PHP導航,有沒有更好的方法來做到這一點?
那麼每個用戶都得到自己的表? – ndtreviv
是的,這是不對的?我不想在一個表內混合用戶 – benhowdle89
爲什麼每個用戶都有單獨的表格?這是因爲Twitter嗎?你代表建議你不可能自己設計這樣一個系統。 – Tesserex