Gan*_*row 8 javascript ajax performance jquery
我正在尝试做一些类似于堆栈溢出投票和投票的投票后投票,现在我让它工作(但它正在工作的方法)然而有些事情感觉不对,希望有人会建议一些有用的调整.这是我的jquery代码:
var x = $("strong.votes_balance").text();
$("input.vote_down").click(function(){
$.ajax({
type: "POST",
url: "http://localhost/questions/vote_down/4",
success: function()
{
$("strong.votes_balance").html((parseInt(x) - parseInt(1)));
$("input[type=button]").hide();
$(".thumbsup_hide").show();
}
});
});
$("input.vote_up").click(function(){
$.ajax({
type: "POST",
url: "http://localhost/questions/vote_up/4",
success: function()
{
$("input[type=button]").hide();
$("strong.votes_balance").html((parseInt(x) + parseInt(1)));
$(".thumbsup_hide").show();
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
这是我的HTML:
<div class="thumbsup thumbsup_template_up-down" id="thumbsup_49">
<form method="post" id="voting_form">
<input type="hidden" value="49" name="thumbsup_id"/>
<span class="thumbsup_hide">Result:</span>
<strong class="votes_balance"><?=$row_q->post_vote?></strong>
<input type="button" title="Good Comment!" value="+1" name="thumbsup_rating" class="vote_up"/>
<input type="button" title="Bad Comment!" value="-1" name="thumbsup_rating" class="vote_down"/>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
$ row_q-> post_vote等于某个数字.现在,当我单击"投票"按钮时,它会增加强值,如果我单击"投票",它会减少它.
我正在使用CI(codeigniter)而不是本机php.
我如何衡量这一性能,不久前投票或投票失败花了两秒多的时间来执行,我在我的查询中添加了LIMIT 1,现在它运行得更快,我认为这应该会更快.谢谢您的意见
而且对不起,我在这里省略了这个是我的投票和投票功能:
$this->db->query("UPDATE $table SET $what_field = ($what_field + 1) $wheremore WHERE $what_id = '$value' LIMIT 1");
Run Code Online (Sandbox Code Playgroud)
和以下投票:
$this->db->query("UPDATE $table SET $what_field = ($what_field - 1) $wheremore WHERE $what_id = '$value' LIMIT 1");
Run Code Online (Sandbox Code Playgroud)
更新我觉得事情一般都很慢的原因是因为我对jquery的不熟练,我认为我的桌子很好
更新II
我刚刚从jquery ajax函数中删除了php部分,只是将数字增加1并且它仍然工作得很慢.
更新III
当我用phpmyadmin运行查询时,它运行范围从0.3秒到1.77秒,因某种原因而变化.
Run Code Online (Sandbox Code Playgroud)WHERE $what_id = '$value'
您不应该使用strings/varchars作为标识符.这很不自然.使用数字/整数.
WHERE $what_id = $value
Run Code Online (Sandbox Code Playgroud)
是的,这会影响数据库性能,尤其是当行数很高时.
归档时间: |
|
查看次数: |
2072 次 |
最近记录: |