powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Операция uddate в таблицах с большим кол-вом записей
3 сообщений из 3, страница 1 из 1
Операция uddate в таблицах с большим кол-вом записей
    #39971164
NewLine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день

У меня есть основная таблица - Список операций

idnameid_contrname_contrid_projectname_project

В этой таблице, чтоб уменьшить нагрузку при выборке я дублирую справочные значение (имя контрагента - name_contr, название проекта - name_project).
Хочу избавиться от максимального кол-ва JOIN, чтоб уменьшить нагрузку и повысить скорость.

Возникает проблема, когда в справочнике нужно будет обновить какое-то значение, то придется это значение обновить и в основной таблице - Список операций

Вопрос
1. Целесообразно ли так делать
2. На сколько ресурсоемкая задача обновить текстовое поле(имя контрагента) в таблице по определенному id
Скажем в таблице 100 млн. записей. Обновление затронет 1 млн. записей.

Спасибо.
...
Рейтинг: 0 / 0
Операция uddate в таблицах с большим кол-вом записей
    #39971166
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewLine
1. Целесообразно ли так делать
Сильно зависит от задачи.
Если вам нужно максимально быстро выгрузить csv-файл (например для интеграции с другой АС), то может быть целесообразно.

А если у вас много OLTP-запросов, требующих полного сканирования таблицы (например, поиск, для которого не может быть использован индекс), то это скорее вредно.
...
Рейтинг: 0 / 0
Операция uddate в таблицах с большим кол-вом записей
    #39971230
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewLine

1. Целесообразно ли так делать
2. На сколько ресурсоемкая задача обновить текстовое поле (имя контрагента) в таблице по определенному id
Скажем в таблице 100 млн. записей. Обновление затронет 1 млн. записей.
1) В целом нет. SELECT в общем случае всегда быстрее и предпочтительнее UPDATE.
2) Зависит в т.ч. от количества сессий, и что клиенты делают. Если у вас к БД обращаются тысячи пользователей, которые забирают/обновляют/добавляют данные в эту таблицу и связанные с ней, то что произойдет когда вы решите обновить данные в миллионе записей - вопрос. Хорошего вряд ли. Если к БД обращается 1.5 клиента в час, то можно попробовать. Но судя по тому, что у вас 100 млн. операций, их кто-то должен производить в таком количестве.

Создайте тестовую БД, сделайте прикидочные прогоны и посмотрите на результат. Потому что он может быть как приемлемым в конкретном случае, так и неприемлемым - уравнение со многими неизвестными. Если что, можно поднять аппаратные ресурсы, подумать над оптимизацией архитектуры. Возможно имеет смысл разделить данные по нескольким таблицам. Например, на текущие и (условно) архивные. Или, например, по видам операций. Тогда у вас появится возможность манёвра между 100 млн. записей. Но это я фантазирую, что у вас за проект неизвестно и каких параметров быстродействия вы хотите достичь тоже.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Операция uddate в таблицах с большим кол-вом записей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]