Построение оператора обновления SQL - влияет на эффективность - PullRequest
1 голос
/ 28 мая 2009

Если вы отправляете оператор обновления в СУБД, в котором порядок отображений column_name = value не соответствует физическому макету файла, это влияет (теоретически) на эффективность операции обновления?

Я спрашиваю, в основном, из любопытства, прекрасно зная, что, вероятно, мало эффекта.

Ответы [ 3 ]

2 голосов
/ 28 мая 2009

Если ваш движок БД настолько беден, что не может оптимизировать обновления в этом случае, у вас наверняка есть проблемы, о которых стоит беспокоиться :-(. IOW, лучше не будет никакого эффекта это вопрос качества реализации для механизма БД, но он настолько тривиален, что я был бы потрясен и удивлен, если бы это было иначе.

0 голосов
/ 28 мая 2009

Я могу сказать, что в SQL Server и в Oracle это «запланировано» на этапе «план выполнения», и вы не заметите изменения производительности при изменении порядка параметров. Я не могу говорить с некоторыми из других «менее корпоративных» баз данных (SqLite, Firebird, Pervasive), но я ожидаю, что все базы данных будут выполнять эти шаги, когда они анализируют операторы SQL в операциях с базами данных.

0 голосов
/ 28 мая 2009

номер

Однако есть несколько способов улучшить эффективность UPDATE, включая обновление только строк и столбцов, которые необходимо обновить.

...