leha2002828
@leha2002828
Программирование php/html

Узнаем кол-во строк в нескольких базах?

Всем привет, подскажите как узнать кол-во строк в нескольких базах.
И сделать это как бы массивом.
Чтоб добавил array("db", "db2", "db3");
И вывело общее кол-во строк всех баз из array
Просто выполнять запрос к каждой базе очень долго, и к тому же загрузка сайта становится медленнее.
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
R0dger
@R0dger
Laravel/Yii/2 AngularJs PHP RESTful API
Храните кол-во в отдельной (таблице / кеше), обновляйте по (триггерам, сами, или еще как).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
Если баз МНОГО то не только считайте количество тригерами, но и делайте запросы в базу асинхронными, иначе даже после десятка баз последовательный запрос будет выполняться секунды.

Еще есть практика кеширования данных и инвалидация кеша при возникновения событий (тригерить события notify на клиент - методы есть), т.е. делать запрос только в те базы, по которым пришел notify (тут же и проверять).

p.s. будьте осторожны, несколько баз работают независимо и не умеют транзакции, т.е. количество может измениться в процессе чтения и к примеру если вы перемещаете объект между базами, суммарное количество объектов не изменилось (тут убрали там добавили) но при запросе количества можно получить на 2 меньше или больше, т.е. неверное значение.
Одно из решений, храните несколько последних значений подсчетов количества с датой их получения, а запрашивать эти данные только те, дата которых ниже даты запроса
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы