2014-01-29 65 views
0

我最近遇到了託管問題,CPU使用率太高導致主機禁用網站(其免費託管,即時通訊差:P)。我使用PHP自己編寫網站,並且是一個博客風格的網站。主機建議嘗試減少SQL調用。對於我網站的主頁,每次對同一個表進行3次sql查詢以獲得7個特定行。這張表是用於博客文章的,因爲它現在包含大約100篇文章,但最終需要處理更多的文章。SQL查詢 - 選擇全部或多個小查詢

當頁面加載時,使用PHP查找特定行或者是3個小型SQL查詢效率更高時,執行SELECT *效率更高嗎?

+0

如果你重複地做同樣的查詢,讓你看着緩存,例如memcached的? – Barmar

+0

您的問題的答案取決於查詢的詳細信息。此外,可能有許多方法可以優化您的查詢 - 也許您沒有適當的索引來加速查詢。只有100個帖子,任何技術之間可能沒有太大的區別,它只會影響數據庫的增長。 – Barmar

+0

爲什麼你需要「3個小SQL查詢」來替換'select *'? 'where'子句和列選擇是否足夠? –

回答

0

您不應該使用*來返回表中的所有列。你應該只提取你需要的數據。即使你需要每個領域,你的桌子也不可避免地會發生變化。

如果您想要保存一定數量的行以供整個頁面使用,而不是一次又一次地調用,您是否可以將輸出保存在一個數組(或其他結構)中並引用每次而不是抓取數據在3個獨立的電話?

希望我理解你的問題。

而且,試試這個鏈接閱讀關於分貝呼叫速度:http://coding.smashingmagazine.com/2011/03/23/speeding-up-your-websites-database/