2011-03-19 36 views
1

我有表playlist,我用display_playlist.php文件顯示這些細節。不建議數據庫操作,是否非常昂貴?

enter image description here

每當用戶點擊「向上」或「向下」按鈕來安排歌曲順序,我只是更新table.But我覺得DB更新非常頻繁:中display_playlist.php 截屏,是否有任何有效的方法來完成這項任務。

我仍然是AJAX的新手,所以如果AJAX是唯一的方法去做,請你詳細解釋一下。謝謝你提前。

回答

1

相對而言,是的,進入數據庫是一個昂貴的操作。但是,如果播放列表狀態是持久的,那麼您必須在某個時間點擊數據庫,這只是時間/頻率的問題。

您可能嘗試的一個簡單優化是,不是將用戶對服務器所做的每個更改立即發送到服務器,而是允許他們做出他們想要的許多更改(使用某些客戶端JavaScript將UI保持在正確狀態)並提供一個「保存播放列表」按鈕,他們可以按下一次將所有更改提交到服務器。這將減少數據庫命中數,以及對服務器進行的往返次數(就用戶體驗而言,往返服務器的成本遠高於數據庫命中成本)。

更廣泛地說,你不應該掛在假設的性能問題上。你的應用程序是否太慢以至於無法處理它的當前負載(如果是這樣,你是否做了任何分析來驗證確實是這個數據庫查詢導致了這個問題)?如果不是,那麼你不需要擔心太多改變它。

1

你可以有一個保存按鈕,所以不是每次更新都只會有一次更新,一次更新每一行。這也讓你有一個取消按鈕讓人們刷新它的方式。

1

您可以這樣做,以便用戶可以在本地更改所需的所有內容;推遲將最終結果寫入數據庫,直到他們選擇從頁面上移開。

+0

此外,在某個時間段內放置類似「自動保存」的內容將有助於(頁面的)意外離開。 – 2011-03-19 13:46:18

0

如果你真的想要避免更新數據庫,你可以嘗試一些基於JavaScript的MP3播放器,它允許你將路徑傳遞給* .mp3文件。

那麼我建議你使用Jquery UI - Sortable

,並用它來更新歌曲列表Flash播放器..

相關問題