2011-03-19 68 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播放器..

相关问题