0
我正在设计和实施物业管理系统,并且我的仪表板包含指定日期间隔的房间预订。并行ajax请求或sql查询? [性能方面]
我在问什么,与表现有关[加载房间的信息]。 目前,我有
for (var r = 0; r < rooms.length; r++)
{
$.ajax({
type: 'POST',
url: '/dashboard/getAllOrders.php',
data: 'room_id=' + encodeURIComponent(rooms[r].id),
complete: function (e, xhr, settings) {
if (e.status === 200)
{
var orders = $.parseJSON(e.responseText);
for (var i = 0; i < orders.length; i++)
{
drawOrder(orders[i]);
}
}
}
});
}
但是,我也可以写为:
var room_ids = [];
for (var r = 0; r < rooms.length; r++)
{
room_ids.push(rooms[r].id);
}
$.ajax({
type: 'POST',
url: '/dashboard/getAllRoomsOrders.php',
data: { 'room_ids' : room_ids },
complete: function(event, request, settings)
{
if (event.status === 200)
{
var orders = $.parseJSON(event.responseText);
for (var i = 0; i < orders.length; i++)
{
drawOrder(orders[i]);
}
}
}
});
你能推荐我的选项,我需要坚持和提供的参数,这将证明为什么一个选项从性能的角度来看,比其他的更好?
如果不是,您能否推荐客户端 - 服务器应用程序的最佳基准测试实践?
第二个好得多,假设你做了正确的事情并将它合并到后端的单个SQL查询中。更少的网络流量,更少的数据库查询发送等,不知道这是甚至是一个问题。 –
从另一个角度看,让我们说你需要商店里的牛奶和面包。什么更快/更高效?立即派一个人坐在一辆车上,或者派两个人坐在两辆不同的车上来得到它?只有2个项目的差异很小,但如果您需要50个以上的项目,显然会出现带宽问题。 –
我几乎同意你的意见。但是我们需要50辆以上的汽车,而不是一辆,对吧?它会吃掉更多必须分配的内存,并且分配给它的内存会占用资源,还需要分配时间,否?在C++中,动态内存比自动静态内存慢。好吧,也许我会尝试做一些基准测试,看看哪个选项更快。 –