我意识到这通常也适用于PHP和MySQL,但上下文和操作在WordPress中。
简介
我目前正在开发一个插件,用于创建和保存有关练习的数据:它基本上可以让我创建训练(选择练习及其详细信息),这些训练可以作为常规帖子的元数据或作为自定义帖子类型中的草稿存储,还可以创建有关训练结果的数据(完成/详细信息)。数据从表单中枚举为如下内容(单个训练的数据集示例):Array
(
[compound_exercises-incline_and_standing_shrugs-sets] => 8
[compound_exercises-incline_and_standing_shrugs-reps] => 2
[compound_exercises-stiff-legged_deadlift-sets] => 8
[compound_exercises-stiff-legged_deadlift-reps] => 1
)
Array
(
[compound_exercises-incline_and_standing_shrugs-sets] => on
[compound_exercises-incline_and_standing_shrugs-sets-sets] => 8
[compound_exercises-incline_and_standing_shrugs-sets-reps] => 8
[compound_exercises-incline_and_standing_shrugs-sets-weight] => 16
[compound_exercises-incline_and_standing_shrugs-sets-completed] => 1
[compound_exercises-incline_and_standing_shrugs-sets-result] => 1
[compound_exercises-incline_and_standing_shrugs-sets-info] => Lorem ipsum dolor sit amet...
[compound_exercises-incline_and_standing_shrugs-reps] => on
[compound_exercises-incline_and_standing_shrugs-reps-sets] => 5
[compound_exercises-incline_and_standing_shrugs-reps-reps] => 10
[compound_exercises-incline_and_standing_shrugs-reps-weight] => 69
[compound_exercises-incline_and_standing_shrugs-reps-completed] => 1
[compound_exercises-incline_and_standing_shrugs-reps-result] => 4
[compound_exercises-incline_and_standing_shrugs-reps-info] => Lorem ipsum dolor sit amet...
[compound_exercises-stiff-legged_deadlift-sets] => on
[compound_exercises-stiff-legged_deadlift-sets-sets] => 3
[compound_exercises-stiff-legged_deadlift-sets-reps] => 8
[compound_exercises-stiff-legged_deadlift-sets-weight] => 17
[compound_exercises-stiff-legged_deadlift-sets-completed] => 1
[compound_exercises-stiff-legged_deadlift-sets-result] => 1
[compound_exercises-stiff-legged_deadlift-sets-info] => Lorem ipsum dolor sit amet...
[compound_exercises-stiff-legged_deadlift-reps] => on
[compound_exercises-stiff-legged_deadlift-reps-sets] => 3
[compound_exercises-stiff-legged_deadlift-reps-reps] => 16
[compound_exercises-stiff-legged_deadlift-reps-weight] => 100
[compound_exercises-stiff-legged_deadlift-reps-completed] => 1
[compound_exercises-stiff-legged_deadlift-reps-result] => 3
[compound_exercises-stiff-legged_deadlift-reps-info] => Lorem ipsum dolor sit amet...
[general-data-weight] => 60
[general-data-chest] => 10
[general-data-waist] => 10
[general-data-thighs] => 10
[general-data-calves] => 10
[general-data-arms] => 10
[general-data-forearms] => 10
)
第一个数组包含训练、计划的套数和重复次数;第二个是关于训练过程的第二个细节。这里首先要注意的是,一次锻炼可能会达到几KBs的大小。例如,在几年的训练量中,当总的训练量达到几MB时,这种情况并不少见。此外,我知道一些软件可以独立于WordPress轻松地解决这些任务,但我正在尝试将此解决方案集成到WordPress中,因为它可以处理大量数据,并且可以轻松地与博客和其他解决方案集成。
问题
虽然从数MB的MySQL结果中缓存部分数据并不一定很难,但问题在于检索数据并以增量和异步方式进行处理:我需要WordPress通过添加数据来更新一组瞬态,而不干扰用户交互。这将需要处理一些预设量的数据,以创建一个可随时显示(例如,表格或图形)的数据集。我主要关心的是WordPress数据库的负载,以及可能对其托管的服务器的负载,因此我希望确保在创建、保存和显示数据时,数据检索和处理尽可能优化。