Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 12.11.2007, 13:53   #1
Эксперт
 
Аватар для MonAmur
 
Регистрация: 03.07.2007
Адрес: Chinatown
Сообщений: 7,265
Вес репутации: 609
MonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущее
По умолчанию Прошу помощи у знатоков MySQL

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

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

Заранее спасибо.
MonAmur вне форума   Ответить с цитированием
Старый 12.11.2007, 14:04   #2
Специалист
 
Регистрация: 10.07.2007
Адрес: ukraine
Сообщений: 349
Вес репутации: 212
rilian скоро станет известенrilian скоро станет известен
По умолчанию

вот так
Цитата:
UPDATE `news` SET `short_story` = `full_story` WHERE `short_story`=""
rilian вне форума   Ответить с цитированием
Старый 12.11.2007, 14:04   #3
Специалист
 
Регистрация: 25.08.2007
Адрес: Одесса
Сообщений: 185
Вес репутации: 206
rashman на пути к лучшему
По умолчанию

update news set short_story = full_story
rashman вне форума   Ответить с цитированием
Старый 12.11.2007, 14:23   #4
Специалист
 
Регистрация: 18.06.2007
Сообщений: 175
Вес репутации: 210
tlittle - весьма и весьма положительная личностьtlittle - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от rashman Посмотреть сообщение
update news set short_story = full_story
WHERE 1;
__________________
Мелкий бомж - живу и работаю в сети.
tlittle вне форума   Ответить с цитированием
Старый 12.11.2007, 14:44   #5
Специалист
 
Регистрация: 10.07.2007
Адрес: ukraine
Сообщений: 349
Вес репутации: 212
rilian скоро станет известенrilian скоро станет известен
По умолчанию

Цитата:
Сообщение от tlittle Посмотреть сообщение
WHERE 1;
если вы не знаете, то зачем пишете?

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

во-вторых, запрос update news set short_story = full_story создает бОльшую нагрузку на сервер (без where). Зачем проверять соответствие (перед присваиванием) short_story и full_story если short_story уже не пустой? Это лишняя нагрузка на сервер, и ее можно избежать, что и сделано в первом ответе )
rilian вне форума   Ответить с цитированием
Старый 12.11.2007, 15:11   #6
Специалист
 
Аватар для товарисч
 
Регистрация: 07.08.2007
Адрес: Made in USSR
Сообщений: 321
Вес репутации: 0
товарисч не любят в этих краяхтоварисч не любят в этих краях
Отправить сообщение для товарисч с помощью ICQ
По умолчанию

вообще-то, оптимизатор не запустит в реальный процесс условие с единичкой.
т.е. запросы равноценны.
Можно проверить тестом (сам не проверял, но, насколько помню логику работы оптимизатора - она именно такова)
товарисч вне форума   Ответить с цитированием
Старый 12.11.2007, 15:19   #7
Специалист
 
Регистрация: 25.08.2007
Адрес: Одесса
Сообщений: 185
Вес репутации: 206
rashman на пути к лучшему
По умолчанию

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

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

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

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

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

а если речь идет о разовой операции - тады ваще пофигу, какая будет нагрузка, ибо длиццо она будет не более 5 секунд на 100 000 записей.
rashman вне форума   Ответить с цитированием
Старый 12.11.2007, 15:22   #8
Специалист
 
Регистрация: 25.08.2007
Адрес: Одесса
Сообщений: 185
Вес репутации: 206
rashman на пути к лучшему
По умолчанию

Цитата:
Сообщение от товарисч Посмотреть сообщение
вообще-то, оптимизатор не запустит в реальный процесс условие с единичкой.
т.е. запросы равноценны.
Можно проверить тестом (сам не проверял, но, насколько помню логику работы оптимизатора - она именно такова)
еще как запустит! токо он ее проигнорирует. и не только идинычку... любой скаляр, типа
where 10=10
where 1>0

ну и т д
rashman вне форума   Ответить с цитированием
Старый 12.11.2007, 15:25   #9
Специалист
 
Регистрация: 10.07.2007
Адрес: ukraine
Сообщений: 349
Вес репутации: 212
rilian скоро станет известенrilian скоро станет известен
По умолчанию

Цитата:
Сообщение от rashman Посмотреть сообщение
ваще не понял вашей логики... вы сами хоть поняли, чиво написали? какое нах... нафиг соответствие? где я его проверяю в своём запросе?
не Вы, мускул это проверит перед присваиванием )
rilian вне форума   Ответить с цитированием
Старый 12.11.2007, 15:31   #10
Специалист
 
Регистрация: 25.08.2007
Адрес: Одесса
Сообщений: 185
Вес репутации: 206
rashman на пути к лучшему
По умолчанию

Цитата:
Сообщение от rilian Посмотреть сообщение
не Вы, мускул это проверит перед присваиванием )
можете показать, где вы это прочитали? а то я уже 7 лет как админю базы сайбеса и мускуля, и ни разу не видел, чтобы при простом запросе он что-то там проверял, если я не задаю where. просто очень интересно с проф точки зрения.
rashman вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помощи знатоков mYscript Вопросы от новичков 18 07.04.2008 16:15
Прошу помощи Support по переносу площадки Bagwell Вопросы по работе системы 1 05.03.2008 19:16
Прошу помощи!!!!! SOS! idrp Яндекс 7 15.12.2007 18:27
Уменьшение [ВС] с помощью локального редиректа: прошу помощи ooprizrakoo Вопросы по работе системы 4 07.10.2007 19:26
Прошу срочной помощи! Пропали мои площадки... DimaSP Ошибки при работе с системой 2 05.06.2007 22:59


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