PHP MySql - 每个页面加载的最大查询数

标签 php mysql sql

我的应用程序平均有 2000 个在线用户,这是一个非常高的页面加载量。我的问题是在每个页面加载中我可以执行多少个 mysql 查询? 因为我的应用程序需要加载大量数据。

我的数据库有可能崩溃吗?还是我的服务器?

_____ 一些信息_____
内存限制:60Mb
并行进程:15
脚本执行时间:30段
数据库:MySQL5 (1Gb)

结构:在结构中,所有表都相互关联良好。至少 95% 的字段都是 INT 类型(通过 FOREIGN 和 PRIMARY 键相关)。 有14张 table 。总共有 32 个 INT 字段和 6 个 TEXT 字段。

如果我无法在服务器上安装应用程序怎么办,是否有其他方法来缓存我的数据?

最佳答案

如果您有这样的负载,您可能应该开始考虑设置某种缓存 - 这样请求只会访问数据库一次。

我的选择是 Varnish .

如果您有部分动态内容(例如与用户相关的数据),您可以将其与 Edge Side Includes 一起使用。 .

此外,尝试通过聚合选择条件来尽可能少地优化查询。例如,首先 - 收集您需要选择的所有 ids,然后 - SELECT * FROM table WHERE id IN (...)

之后 - 您将能够在服务器端处理结果,而无需打扰数据库

<小时/>

编辑

如果您无法在主机上安装任何应用程序 - 那么您应该继续通过一个请求获取尽可能多的数据,然后 - 使用数组。

此外,拥有索引字段很重要 - 这将加快您的查询速度。

关于PHP MySql - 每个页面加载的最大查询数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11776438/

相关文章:

php - MySQL 5.5 到 5.7 停止使用索引

javascript - 根据用户类型进行 Ajax 搜索

MySql触发器,在插入之前删除同一个表中的一行

Python 类型错误 : 'long' object is not subscriptable

mysql - 三个条件的sql查询

php - 带有数组的可变变量

php - 我的代码可以避免 SQL 注入(inject)吗

mysql - MySQL 数据类型中的内存分配?

sql - 复制查询结果到另一个mysql表

sql - 如何识别和聚合开始日期和结束日期的序列