Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.02.2019, 13:47
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

Запилить статический кэш для INNER JOIN
В общем разрабатываю движек БД на ABQ(array based queries). Запилен статический JSON кэш для запросов типа select * путем сканирования MD5 всей таблицы и последующей сверки с файлом статики.

Теперь планирую написать API для JOIN запросов, но тут сразу вопрос в реализации кэша.

У меня при любых изменениях DBX создает хэш таблицу в которую сразу после change пишет значение MD5 связанной таблицы и это же значение используется в файле статики JSON: если чексуммы сошлись, то все данные запроса к БД берутся из статики.

Как сделать такое же более грамотно для JOIN? Вот пример:

Код:
SELECT * FROM revolver__nodes, revolver__users WHERE revolver__nodes.field_user = revolver__users.field_nickname
Вариант 1:

Делаем кэш и присваиваем ему время жизни. Херовый вариант так как при появлении нового контента и комментариев он не обновиться сразу же, а контролировать обе таблицы не выходит.

Вариант 2:

Делаем снимок MD5 обоих таблиц и проверяем эти снимки перед самим JOIN. Вариант лучше так как хэш таблицы уже имеются и остается только создать новый статический файл на чанках и проверять суммы у него.

Вариант 3:

Предложите еще варианты как это можно реализовать грамотно.

Код библиотеки:

https://github.com/xShiftx/Revolver_DBX
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Новая система управления сайтом Scripto CMS deepslam Ваши сайты и скрипты 38 31.01.2011 14:55
как сделать join для обьекта KOLANICH Общие вопросы Javascript 2 20.12.2010 21:00
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31