PHP查詢資料有關問題

來源:互聯網
上載者:User
PHP查詢資料問題
資料庫用的是MYSQL5.5
我系統裡有不少表需要關聯,如微博的。
一條博文可能有好幾個表關聯起來,如使用者表,等其它表。

問題:
伺服器有memcache+apache+mysql5.5
展示博文時,因每條博文有片,音頻,視頻,等等不少關聯,是用一條SQL關聯出所有資料,還是先查出所有博文,再迴圈根據博文ID查詢出其它關聯資料,。

如要顯示10條博文,那就要去查詢10次資料庫,(SQL簡單,但查詢資料庫次數多)。
如果用一條關聯查詢,一條資料庫即查查出,(SQL複雜。)

請問使用哪種最優

------解決方案--------------------
請使用 Cache ~
------解決方案--------------------
用left join on 速度還可以
------解決方案--------------------
我的觀點:如果你發現join your table存在效能問題了,你就該放棄join了。換言之,如果還沒有存心瓶頸(短期內也不會出現瓶頸)那麼你可以繼續join。

nosql的觀點在DB不是著重業務處理,而是資料持久儲存。解放DB的業務負擔將極大改善DB的效能。
------解決方案--------------------
建議用程式來處理,資料庫只是用來儲存資料的,過於複雜的SQl不適合,資料量大的話,程式處理是最快的
------解決方案--------------------
個人感覺查詢速度很大一部分出現在SQL語句上,用join完全可以,但要注意where條件,例如一下子可以過濾掉很多資訊的where條件要放在所有where條件的最前面,再一個就是如果作為你查詢條件的某個資料庫欄位如果可以作為唯一約束,主鍵約束等一定要在資料庫中建立約束,樓主不信可以做個實驗~查詢所用時間是數量級上的變化,很可觀的!希望能對你有所協助
------解決方案--------------------
最好一個表一個表的查詢,盡量避免使用join查詢和子查詢。
------解決方案--------------------
如果是泛泛的理論的討論,那怎麼弄都不為過

若已經落實到具體的表中了,那麼建議使用視圖
將每次都需要展示的欄位加入到視圖中就可以了

實際的查詢是對視圖進行的
------解決方案--------------------
如果是泛泛的理論的討論,那怎麼弄都不為過

若已經落實到具體的表中了,那麼建議使用視圖
將每次都需要展示的欄位加入到視圖中就可以了

實際的查詢是對視圖進行的
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.