我正在为工人创建职责管理系统,该数据库将包含以下列
要求该系统知道在给定时间内有多少员工在工作。
我当前正在使用mysqli,随着表数据的增加,它似乎很慢。
我正在寻找合适的服务,该服务每天可以处理DUTY_START和DUTY_END索引中的500,000条记录并进行搜索。
答案 0 :(得分:0)
在大型表中进行优化时,开始到结束范围很麻烦。
也许对于这种情况,最好的解决方案是做一些非常糟糕的事情-分日期。 (是的2次错误可能在这次是对的。)
ID | STAFF_ID | DUTY_ID | date | START_time | END_time
一些问题:
date
上有一个索引,或者至少从date
开始。然后,即使查询必须扫描所讨论的日期的所有条目,至少比扫描整个表还要很多。 (所有其他“显而易见的解决方案”都没有扫描表的一半)。如果您想进一步讨论和辩论,请根据您的“模式”或我的“ SELECT
”陈述提供。不用担心性能;我们可以讨论如何改进它们。