Форум → Разработка → Базы данных → Задачка.
Задачка.
Страницы: ← Предыдущая страница →
-
Авг. 21, 2009, 8:35 п.п., спустя 3 часа 44 минуты 29 секунд
IN работает моментально, не надо гнать на него ….Сапожник без сапог -
Авг. 21, 2009, 8:38 п.п., спустя 3 минуты 46 секунд
Логика запроса:INSERT INTO hotels (name,region,type_)
SELECT :name, :region, :type
FROM rdb$database – Это таблица с одной строкой. Для mySQL, кажись, можно просто убрать предложение FROM
WHERE NOT EXISTS(SELECT * FROM hotels WHERE name = :name AND region = :region AND type_ = :type)
- вставить, то что выберем
- выбирать будем наши данные, а не данные из БД. (обманка, типа, получилась … вроде и запрос, а не спрашивает - сам дает)
- если данные такие уже в БД есть, то WHERE вернет ложь и select вернет ноль записей и нифига вставлено не будет.
-
Авг. 27, 2009, 3:02 п.п., спустя 5 дней 18 часов 23 минуты
ага, тоже самое что я сказал, но разбито на этапы. Я попытался собрать в одно логическое высказывание :)
Значит мы друг друга поняли.
По поводу модификации и ласт инсерт айди - думал. Надо пробовать. Пока нет времени, попал в больницу.
Как выпишусь - отпишу. -
Авг. 27, 2009, 3:12 п.п., спустя 9 минут 50 секунд
Batler, выздоравливай!https://smappi.org/ - платформа по созданию API на все случаи жизни -
Авг. 27, 2009, 6:11 п.п., спустя 2 часа 59 минут 31 секунду
У Вас эти этапы идут в коде клиента, Вы требуете от СУБД выполнения нескольких запросов, а я предлагаю всё в одном запросе.
Выздоравливайте. -
Сен. 14, 2009, 4:14 п.п., спустя 17 дней 22 часа 2 минуты
Благодарю!
Почти поправился. Еще месяц где-то заживать буду.
По теме:
испытал запросы, которые предлагает AndryG. У меня так и не получилось заставить его работать.
Потому что без FROM юзать запрос нельзя, а если вставить имя таблицы с одним столбцом то любой селект вернет пустоту.
Но даже не смотря на это мне удалось оценить производительность. Она снизилась (если учесть еще и тот факт, что часть запросов просто не выполнялось, потому как вставки не производились.). Я думаю это произошло из-за этого:
Запросы к базе получались в цикле, а это уже плохо.
Запрос с подзапросом
Сразу скажу что без подготовленных выражений (т.е. не так как предлагал AndryG) -
Сен. 14, 2009, 4:31 п.п., спустя 17 минут 41 секунду
Как можно оценить производительность, если запрос так и не заработал. -
Сен. 14, 2009, 4:47 п.п., спустя 15 минут 55 секунд
Он работал некорректно, но оценить производительность по нему все же можно было.
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!