php - 查询日历事件的最佳方式?

标签 php mysql database

我正在创建一个日历,显示一个月的事件时间表。每天都有几个参数决定当天是否可以安排更多事件(有多少工作人员可用、有多少次可用等)。

我的数据库是使用三个表设置的:

  1. 定期计划 - 用于为一周中的每一天创建一个数组,概述有多少员工可以工作、他们可以工作的时间等
  2. 日程变化 - 如果某个日期有变化,这会覆盖常规日程数组中的信息。
  3. 事件 - 现有事件,按日期引用。

在此阶段,代码会循环访问该月中的每一天,并每天检查两到三件事。

  1. 时间表是否有任何变化(公共(public)假期、缩短工作时间等)?
  2. 今天的工作时间/员 worker 数是多少?
  3. (如果有工作人员)这一天已经安排了多少场事件?

第 1 步和第 3 步需要数据库查询 - 假设每月 30 天,即每次页面浏览 60 次查询。

我担心这会如何扩展,对于少数用户来说,我不认为这会是一个大问题,但如果 20 个人尝试同时加载页面,那么它会跳到 1200查询...

任何关于如何更有效地做到这一点的想法或建议将不胜感激!

谢谢!

最佳答案

我想不出您需要将每个查询限制为一天的充分理由。当然,您可以选择一对日期之间的所有值。

类似地,您可以使用联接来获取给定日期安排的事件数。

然后对数据库查询返回的数组执行循环(每天)。

关于php - 查询日历事件的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/735216/

相关文章:

php - 传递多维数组在codeigniter中查看

php - 使用 php 创建一个 html mailto

php - 是否可以操纵 Ajax 调用来指示服务器删除它不希望删除的数据?

java桌面应用程序-在本地服务器上共享一台数据库主机

sql - 主键冲突错误后继续

java - 使用 ActiveMQ/Stomp 在 PHP 和 Java 之间进行通信

php - codeigniter 设置消息和插入时间错误

mysql - 如果以前为 postgres 安装了 thinking sphinx,我是否需要为 mysql 重新安装它?

PHP+Mysql 在一行中显示多行的值

mysql - 硬核常量值比查询数据库更好吗?