簡體   English   中英

需要有關優化的幫助

[英]Need Help regarding Optimization

首先,我是一個自動整理者,所以我對優化和內容知之甚少。 我創建了一個社交網站。

它現在包含29個表。 我想通過添加黃頁,事件等內容來擴展其功能,使其更像門戶。

現在的問題是,我應該只是將表添加到同一數據庫中還是應該使用其他數據庫?

而且,如果我創建一個新的數據庫,我也希望用戶能夠像評論一樣對公司列表等發表評論。 因此,由於評論將在一個數據庫上,而用戶詳細信息將在另一個數據庫上,因此我將如何能夠提取條目。

是否可以在2個不同的數據庫上聯接表?

在需要之前不要進行優化。

如果性能還可以,請尋求最容易維護的解決方案。

監視網站的性能,如果它開始變慢,請准確找出導致速度變慢的原因,然后僅關注該部分的性能。

您可以通過完全證明名稱的名稱來連接獨立數據庫中的表,但真正的問題是為什么要在獨立數據庫中獲取信息? 如果您存儲的所有信息都關聯在一起,則應該將其放入一個數據庫中,除非有令人信服(通常與性能相關)的理由。

我看到將YellowPages分開的主要原因是,如果您希望讓一個YellowPages可以訪問多個不同的,非交互的網站。 就是說,假設您不想在清單上出現串擾評論,因此評論需要存儲在網站數據庫中,而不是YellowPages數據庫中。 這聽起來像是一場維護噩夢。

您絕對可以查詢和連接來自兩個不同數據庫的表-您只需要以dbname.tablename格式指定表dbname.tablename

SELECT a.username, b.post_title
FROM dbOne.users a INNER JOIN dbTwo.posts b USING (user_id)

但是,這可能會使您的管理和維護變得更加復雜。 例如,您必須跟蹤哪個表屬於哪個數據庫,並且將不斷需要將數據庫名稱添加到所有查詢中。 當需要備份數據時,您的工作也將在那里增加。 MySQL數據庫可以輕松地包含數百個表,因此我看不到拆分它的好處-堅持使用一個表。

您可以證明算法是最快的。 自半個世紀以來,math.h和C庫都進行了非常優化,並且在優化Perl結構時還取得了其他進步。 只是要避免一切都在線以簡化調試。 有約定,請嘗試使團隊中的每個程序員都遵循相同的約定。 哪種約定是“正確的”,並沒有隨之而來的和一致的最優性。 性能是您要做的最后一件事,安全性和清晰度是當務之急。 了解ordo表示法僅取決於軟件,而次優的軟件可能比最佳的相對不同的硬件要快。 沒有結構的完全錯誤的意大利面條代碼的響應速度比最可靠的最佳軟件相關硬件快許多倍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM