Прошу помощи у знатоков MySQL
Прошу помощи у знатоков MySQL.
Есть таблица в БД - news В ней есть среди прочих столбцы - short_story и full_story Столбцы short_story сейчас пустые, full_story - заполнены. Вопрос... Как создать запрос к БД, чтобы short_story заполнились и продублировали full_story? Заранее спасибо. :) |
вот так
Цитата:
|
update news set short_story = full_story
|
Цитата:
|
Цитата:
во первых, WHERE 1 можно пропустить во-вторых, запрос update news set short_story = full_story создает бОльшую нагрузку на сервер (без where). Зачем проверять соответствие (перед присваиванием) short_story и full_story если short_story уже не пустой? Это лишняя нагрузка на сервер, и ее можно избежать, что и сделано в первом ответе ) |
вообще-то, оптимизатор не запустит в реальный процесс условие с единичкой.
т.е. запросы равноценны. Можно проверить тестом (сам не проверял, но, насколько помню логику работы оптимизатора - она именно такова) |
Цитата:
Цитата:
если продублировать, тогда правильный ответ без where. если просто заполнить, тогда - правильные варианты первый и мой. мой запрос более универсальный :D :p а по поводу нагрузки - вопрос спорный. если речь идет о кол-ве записей более 100 000 и из них более 30% уже заполнены - тады может быть вы и правы про нагрузку. а если цифры меньше - тады пох... по фигу... а если речь идет о разовой операции - тады ваще пофигу, какая будет нагрузка, ибо длиццо она будет не более 5 секунд на 100 000 записей. |
Цитата:
where 10=10 where 1>0 ну и т д |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 01:36. |
Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.