BaBL
Постоялец
- Регистрация
- 13 Ноя 2012
- Сообщения
- 167
- Реакции
- 109
Еще добавлю, что при большом количестве UPDATE/REPLACE/INSERT - очень мешают индексы. На хайлоад проектах перед массовой вставкой делают DROP индексов и пересоздают их после транзакции изменений. В некоторых случаях это дает ускорение в десятки раз.
Нет особо смысла экономить на тексте запросов (т.е. сокращать количество запросов), если у тебя база данных не в другом датацентре стоит, она сама разберется, не морочь голову, это не проблема.
В некоторых случаях бывает полезно создать временную таблицу, вставить в нее данные, необходимые для апдейта. Ее заполнение не повлияет на работу проекта и не будет блокировать "боевые" таблицы, а потом сделать update на основе join'а с этой таблицей. Такие апдейты проходят довольно быстро.
Нет особо смысла экономить на тексте запросов (т.е. сокращать количество запросов), если у тебя база данных не в другом датацентре стоит, она сама разберется, не морочь голову, это не проблема.
В некоторых случаях бывает полезно создать временную таблицу, вставить в нее данные, необходимые для апдейта. Ее заполнение не повлияет на работу проекта и не будет блокировать "боевые" таблицы, а потом сделать update на основе join'а с этой таблицей. Такие апдейты проходят довольно быстро.