Я ищу совет по чему-то, что я создаю: у меня есть приложение PHP, которое создает, обновляет и удаляет записи, но оно тесно интегрировано в устаревшую базу данных, не основанную на SQL, и это становится действительно очень медленным, когда вы начинаете делать много вызовов БД. Я хочу сделать это более опытным опытом для пользователя, так что, когда пользователь создает или редактирует что-то, все переменные, массивы и объекты должны быть записаны в базу данных MySQL, а затем начнется фоновый скрипт эти записи и обрабатывать запрос к устаревшей базе данных.Советы по созданию фоновых задач PHP-MySQL
Поэтому мне понадобится одна таблица, которая отслеживает задачу, а затем другую таблицу, которая будет отслеживать все переменные, объекты, массивы и их значения.
Вот что я имел в виду структуру БД 2-й таблицы должны быть:
- колонна для хранения TASK_ID
- Столбец для хранения, если переменная является массивом или объектом, или NULL, если это простой var.
- Столбец для хранения имени массива/объекта var.
- Столбец, если это объект, а затем сохранить тип объекта.
- Столбец для хранения идентификатора группы массива/объекта. (Для отслеживания того, что вары принадлежит объекту/массиву)
- колонка хранить имя простого вара, метод или имя в объекте/массив
- Колонны для хранения значения вара
Вот бы несколько примеров:
1 | NULL | NULL | NULL | NULL | 'foo' | 'bar'
1 | 'array' | 'foo_array' | NULL | 1 | 'foo' | 'bar'
1 | 'array' | 'foo_array' | NULL | 1 | 'foo2' | 'bar2'
1 | 'object' | 'foo_obj' | foobar_object | 2 | 'foo_method' | 'bar'
1 | 'object' | 'foo_obj' | foobar_object | 2 | 'bar_method' | 'foo'
это, кажется ли, как слишком сложный подход? Я что, сумасшедший и передумал? Может ли кто-нибудь подумать о том, как лучше подойти к этому?
Спасибо.
Похоже, что этот подход может ухудшить впечатление, поскольку пользовательские взаимодействия не будут записываться в вашу базу данных до тех пор, пока очередь не будет обработана. По какой причине вы не можете мигрировать? –