![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Wiedzmin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 17.1.2006 Репутация: нет Всего: нет |
Запрос REPLACE еквивалентен:
1) DELETE, а потом INSERT или 2) SELECT (проверяем есть ли такая строчка), а потом UPDATE по всем полям или 3) Это вообще уникальная команда, выполняет запрос быстрее двух предыдущих ) ? |
|||
|
||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
||||
|
||||
Wiedzmin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 17.1.2006 Репутация: нет Всего: нет |
||||
|
||||
Bikutoru |
|
|||
Увлекающийся ![]() ![]() Профиль Группа: Участник Сообщений: 522 Регистрация: 24.5.2005 Где: Москва Репутация: 2 Всего: 22 |
Скорее всего REPLACE. Правда, если в таблице есть поле AUTO_INCREMENT, чье значение потом потребуется, то с REPLACE могут возникнуть проблемы - в таком случае лучше использовать -------------------- Человек, словно в зеркале мир — многолик, Он ничтожен — и он же безмерно велик! Омар Хайям |
|||
|
||||
Wiedzmin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 17.1.2006 Репутация: нет Всего: нет |
Без автоинкримента ). Уникальный индекс - один.
|
|||
|
||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
||||
|
||||
Wiedzmin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 17.1.2006 Репутация: нет Всего: нет |
Mephisto, не, REPLACE это как раз аналог INSERT, который не выдает ошибку, если попалось уже существующее уникальное значение по какому-то полю, а заменяет
|
|||
|
||||
Bikutoru |
|
|||
Увлекающийся ![]() ![]() Профиль Группа: Участник Сообщений: 522 Регистрация: 24.5.2005 Где: Москва Репутация: 2 Всего: 22 |
Тогда делай REPLACE, если тебя не смущает, что в твоем скрипте будет неизвестно, овномлетсяли какая-то запись или вставляется новая -------------------- Человек, словно в зеркале мир — многолик, Он ничтожен — и он же безмерно велик! Омар Хайям |
|||
|
||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
||||
|
||||
Wiedzmin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 17.1.2006 Репутация: нет Всего: нет |
Просто там разные возможности оптимизации если я знаю, что была запись или не было ее )). Если один РЕПЛЕЙС будет оптимальнее этого всего, то наверно его надо ставить ). Вот я и спрашиваю какие действия внутренне делает МуСКЛ и как можно оценить РЕПЛЕЙС ![]() Я пишу отметку топиков прочитанными/непрочитанными для форума, где прочтения хранятся в БД ![]() Правда сейчас уже над немного другой структурой думаю |
|||
|
||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
Меня интересует сама строка запроса. Насколько я помню в мускуле replace немного в других целях используеться.
|
|||
|
||||
Wiedzmin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 17.1.2006 Репутация: нет Всего: нет |
REPLACE table VALUES (a,b,c,d)
Первичный ключ по полям (a,b,c) |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |