【问题标题】:Little mysql_queries takes too much time小 mysql_queries 需要太多时间
【发布时间】:2014-10-27 12:03:47
【问题描述】:

我有几个非常小的 sql 查询需要花费太多时间来运行。

if ($USER) {
$ss_a = mysql_fetch_array(mysql_query("SELECT uri FROM styles WHERE     id=".$USER["styles"]));

if ($ss_a) {
$ss_uri = $ss_a["uri"];
}
}

所以它需要 0.7605552s "SELECT uri FROM styles WHERE id=1"

第二个样式代码

if (!$ss_uri) {
($r = mysql_query("SELECT uri FROM styles WHERE id=1")) or die(mysql_error());

其他需要花费太多时间的小查询。

0.5507469 SELECT COUNT(id) AS 从帮助台解决的问题 = '否'

代码:

$res = mysql_query("SELECT COUNT(id) AS problems FROM helpdesk WHERE solved = 'no'");

$arr     = mysql_fetch_assoc($res);
$problems = $arr['problems'];

有什么办法可以优化这些吗?

【问题讨论】:

  • 你的桌子大吗?如果是:有多大? 'id' 是索引吗?如果不是,为什么不呢? :)
  • 您能提供更多信息吗? Mysql 版本、操作系统、表大小。
  • this.... mysql_* 已弃用(正式在 php 5.5 中)

标签: php mysql optimization


【解决方案1】:

索引可能会有所帮助。我建议尝试:

create index idx_styles_id_uri on style(id, uri)
create index idx_helpdesk_solved_id on helpdesk(solved, id)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 2020-06-15
    • 2011-09-23
    相关资源
    最近更新 更多