Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Разработка и сопровождение сайтов (http://forum.sape.ru/forumdisplay.php?f=29)
-   -   Прошу помощи у знатоков MySQL (http://forum.sape.ru/showthread.php?t=5990)

MonAmur 12.11.2007 13:53

Прошу помощи у знатоков MySQL
 
Прошу помощи у знатоков MySQL.
Есть таблица в БД - news
В ней есть среди прочих столбцы - short_story и full_story
Столбцы short_story сейчас пустые, full_story - заполнены.

Вопрос...
Как создать запрос к БД, чтобы short_story заполнились и продублировали full_story?

Заранее спасибо. :)

rilian 12.11.2007 14:04

вот так
Цитата:

UPDATE `news` SET `short_story` = `full_story` WHERE `short_story`=""

rashman 12.11.2007 14:04

update news set short_story = full_story

tlittle 12.11.2007 14:23

Цитата:

Сообщение от rashman (Сообщение 56974)
update news set short_story = full_story

WHERE 1;

rilian 12.11.2007 14:44

Цитата:

Сообщение от tlittle (Сообщение 56984)
WHERE 1;

если вы не знаете, то зачем пишете?

во первых, WHERE 1 можно пропустить

во-вторых, запрос update news set short_story = full_story создает бОльшую нагрузку на сервер (без where). Зачем проверять соответствие (перед присваиванием) short_story и full_story если short_story уже не пустой? Это лишняя нагрузка на сервер, и ее можно избежать, что и сделано в первом ответе )

товарисч 12.11.2007 15:11

вообще-то, оптимизатор не запустит в реальный процесс условие с единичкой.
т.е. запросы равноценны.
Можно проверить тестом (сам не проверял, но, насколько помню логику работы оптимизатора - она именно такова)

rashman 12.11.2007 15:19

Цитата:

Сообщение от rilian (Сообщение 56993)
во-вторых, запрос update news set short_story = full_story создает бОльшую нагрузку на сервер (без where). Зачем проверять соответствие (перед присваиванием) short_story и full_story если short_story уже не пустой? Это лишняя нагрузка на сервер, и ее можно избежать, что и сделано в первом ответе )

ваще не понял вашей логики... вы сами хоть поняли, чиво написали? какое нах... нафиг соответствие? где я его проверяю в своём запросе?

Цитата:

Как создать запрос к БД, чтобы short_story заполнились и продублировали full_story?
вопрос: ПРОСТО ЗАПОЛНИТЬ или ПРОДУБЛИРОВАТЬ?

если продублировать, тогда правильный ответ без where. если просто заполнить, тогда - правильные варианты первый и мой.

мой запрос более универсальный :D :p

а по поводу нагрузки - вопрос спорный. если речь идет о кол-ве записей более 100 000 и из них более 30% уже заполнены - тады может быть вы и правы про нагрузку. а если цифры меньше - тады пох... по фигу...

а если речь идет о разовой операции - тады ваще пофигу, какая будет нагрузка, ибо длиццо она будет не более 5 секунд на 100 000 записей.

rashman 12.11.2007 15:22

Цитата:

Сообщение от товарисч (Сообщение 57006)
вообще-то, оптимизатор не запустит в реальный процесс условие с единичкой.
т.е. запросы равноценны.
Можно проверить тестом (сам не проверял, но, насколько помню логику работы оптимизатора - она именно такова)

еще как запустит! токо он ее проигнорирует. и не только идинычку... любой скаляр, типа
where 10=10
where 1>0

ну и т д

rilian 12.11.2007 15:25

Цитата:

Сообщение от rashman (Сообщение 57011)
ваще не понял вашей логики... вы сами хоть поняли, чиво написали? какое нах... нафиг соответствие? где я его проверяю в своём запросе?

не Вы, мускул это проверит перед присваиванием )

rashman 12.11.2007 15:31

Цитата:

Сообщение от rilian (Сообщение 57016)
не Вы, мускул это проверит перед присваиванием )

можете показать, где вы это прочитали? а то я уже 7 лет как админю базы сайбеса и мускуля, и ни разу не видел, чтобы при простом запросе он что-то там проверял, если я не задаю where. просто очень интересно с проф точки зрения.


Часовой пояс GMT +3, время: 01:36.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.