Php 加快数据库查询的响应速度
我正在mysql db服务器上使用php运行一个Php 加快数据库查询的响应速度,php,mysql,sql,Php,Mysql,Sql,我正在mysql db服务器上使用php运行一个select*fromtable order by date desc查询,该表有很多记录,这会减慢响应时间 那么,有没有办法加快反应速度呢。如果索引是答案,那么我应该索引哪些列。当您有WHERE子句或与已索引的字段进行联接时,索引可以加快搜索速度。在您的情况下,您不会这样做:您选择表中的所有条目。所以使用索引对你没有帮助 您确定需要该表中的所有数据吗?当您以后在PHP中过滤、搜索或聚合这些数据时,您应该研究在SQL中实现这一点的方法,以便数据库向
select*fromtable order by date desc
查询,该表有很多记录,这会减慢响应时间
那么,有没有办法加快反应速度呢。如果索引是答案,那么我应该索引哪些列。当您有WHERE子句或与已索引的字段进行联接时,索引可以加快搜索速度。在您的情况下,您不会这样做:您选择表中的所有条目。所以使用索引对你没有帮助
您确定需要该表中的所有数据吗?当您以后在PHP中过滤、搜索或聚合这些数据时,您应该研究在SQL中实现这一点的方法,以便数据库向PHP发送更少的数据。您需要使用缓存系统。
据我所知,提高应用程序的速度真是太好了,它根本不使用数据库。简单回答:使用软件无法提高任何速度 原因:您正在选择一个表的全部内容,并且您说这是一个大表 您可以做的是缓存数据,但不使用Memcache,因为它对可以缓存的数据量有限制(每个键1 MB),因此如果您的数据超过此限制,那么祝您好运使用Memcache缓存一个巨大的结果集,而不提出维护键和值的有效方案 索引没有帮助,因为您没有WHERE子句,可能发生的情况是您可以稍微加快ORDERBY子句的速度。在查询之前使用EXPLAIN EXTENDED查看通过网络传输数据花费了多少时间,以及从查询中检索和排序数据花费了多少时间 如果您的应用程序需要大量数据才能正常工作,则您可以选择以下选项:
- 获得一个更好的服务器,可以更快地推送数据
- 重新设计您的应用程序,因为如果它需要如此多的数据才能运行,那么在设计时可能没有考虑到效率
- 使用适当的索引
- 限制记录的数量
- 使用所需的列名(而不是编写
useselect*from table
)select col1,col2 from table
- 优化查询是一个大话题,超出了这个问题的范围
下面是一些突出显示的内容,它们将增强您选择语句的能力
SELECT * FROM table order by whatever LIMIT m, n;
要优化此查询,这里有一个简单的解决方案
select A.* from table A
inner join (select id from table order by whatever limit m, n) B
on A.id = B.id
order by A.whatever
在查询中使用
limit
,并对记录进行分页。您需要每一列吗?不太容易:Hi@rikesh,必须在不分页的情况下显示这些记录,并将所有记录放在一个页面中go@DaveHogan是的,我需要每一篇专栏文章。谢谢你的回答。是的,我需要所有数据,因为它在移动应用程序中使用,我现在不能更改应用程序代码,只有后端。移动应用程序被编码为一次获取所有数据。有可能以不同的方式存储数据吗?那么你所能做的就是购买一台更快的数据库服务器。