Всем привет! Происходит обновление записи в БД, запись - набор полей, не все поля нужно обновить, а только те которые отличаются от набора данных. Как лучше сделать сравнение перед обновлением, запрос на выборку? И стОит ли игра свеч, может дешевле взять и обновить всю строку?
Ну вот было получено 3 значения: x = 1, y = 2, z = 3 значение 2 изменили на 7, а 3 на 5 вот и делай только set y = 7, z = 5
но откуда я узнаю какое значение изменилось? перед обновлением делать запрос на выборку, затем сравнивать и вставлять только если значение отличается? лишний запрос - лишняя нагрузка ( знаете весь вопрос возник от желания избавить MySQL сервер от ненужной работы, от ненужных обновлений данных. однако попробовав обновить поле на значение равное имеющемуся я получил: Код (Text): /* Affected rows: 0 Найденные строки: 0 Предупреждения: 0 Длительность 1 query: 0,000 sec. */ может быть сервер сам определяет нужно ли обновлять запись, если значение не менялось? и если так то, производительность не страдает, таблица на время записи не блокируется и т.п?