首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提高PHP和MySQL and服务的速度

提高PHP和MySQL and服务的速度
EN

Stack Overflow用户
提问于 2013-12-29 14:11:25
回答 1查看 155关注 0票数 0

我已经创建了一个web服务,使用php和mysql为我的应用程序插入和返回数据。用户的主要抱怨之一是反应太慢,我同意,因为完成任务需要5-10秒。最初认为这是一个主机性能问题,但并没有产生什么影响(godaddy )。

查看我的php文件中的SQL代码,我认为这就是问题所在。我想重写一下以提高速度。我相信问题是我使用时间戳,为了返回,我总是寻找最大(时间戳)。

下面是我输入的SQL语句:

代码语言:javascript
复制
 $insert = mysql_query("INSERT INTO meals (user, date, meal, timeStamp, food) VALUES ('$user','$date','$meal','$timeStamp','$food')");

以下是我返回的SQL语句:

代码语言:javascript
复制
 $query = mysql_query ("SELECT * FROM meals WHERE user = '$user' AND date = '$date' AND meal = '$meal' AND timeStamp = (SELECT MAX(`timeStamp`)FROM meals WHERE user = '$user' AND date = '$date' AND meal = '$meal')");

我会更好地使用一个更新或类似的,而不是使用时间戳?还有其他建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-29 14:25:46

这是您的查询:

代码语言:javascript
复制
SELECT *
FROM meals
WHERE user = '$user' AND date = '$date' AND meal = '$meal' AND
      timeStamp = (SELECT MAX(`timeStamp`)
                   FROM meals
                   WHERE user = '$user' AND date = '$date' AND meal = '$meal'
                  );

假设您只想要一行,第一个简化步骤是:

代码语言:javascript
复制
SELECT *
FROM meals
WHERE user = '$user' AND date = '$date' AND meal = '$meal'
ORDER BY timestamp desc
LIMIT 1;

接下来,索引将有助于此查询。事实上,meals(user, date, meal, timestamp)上的索引可以同时适用于whereorder by。这应该能改善业绩。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20825968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档