----- Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
Мелкий
Отправлено: 05 Марта, 2012 - 09:52:19
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
snikers987, любой ключ, в том числе и первичный, может быть составным. Для уникального или первичного составного ключа поведение будет соответствовать именно описанному в задаче.
----- PostgreSQL DBA
snikers987
Отправлено: 05 Марта, 2012 - 10:03:54
Участник
Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011 Откуда: Крым
Помог: 25 раз(а)
А можно ли тут обойтись без подзапросов?
есть запрос
Второй запрос может добавить за раз около 5000 строк, правильно ли я получаю pid ?
работа этих запросов будет раз в неделю, но с большим количеством строк (Добавление)
Мелкий пишет:
snikers987, любой ключ, в том числе и первичный, может быть составным. Для уникального или первичного составного ключа поведение будет соответствовать именно описанному в задаче.
----- Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
Мелкий
Отправлено: 05 Марта, 2012 - 10:17:39
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Я бы вытянул в массив id'шники юзверей, убрал бы подзапрос.
----- PostgreSQL DBA
snikers987
Отправлено: 05 Марта, 2012 - 10:53:24
Участник
Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011 Откуда: Крым
Помог: 25 раз(а)
Мелкий пишет:
Я бы вытянул в массив id'шники юзверей, убрал бы подзапрос.
так и сделал.
Еще такой вопрос о prepared statement, как организовать чтобы insert был подготовлен, а потом биндить параметры, если изначально количество вставляемых строк не известно?
Возможно ли так?
----- Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
Мелкий
Отправлено: 05 Марта, 2012 - 11:39:52
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
snikers987 пишет:
Еще такой вопрос о prepared statement, как организовать чтобы insert был подготовлен, а потом биндить параметры, если изначально количество вставляемых строк не известно?
Возможно ли так?
Так препаруется запрос на вставку 1 строки и потом биндится столько, сколько нужно.
----- PostgreSQL DBA
snikers987
Отправлено: 05 Марта, 2012 - 11:49:22
Участник
Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011 Откуда: Крым
Помог: 25 раз(а)
Мелкий пишет:
snikers987 пишет:
Еще такой вопрос о prepared statement, как организовать чтобы insert был подготовлен, а потом биндить параметры, если изначально количество вставляемых строк не известно?
Возможно ли так?
Так препаруется запрос на вставку 1 строки и потом биндится столько, сколько нужно.
$stmt=$mysqli->prepare('INSERT INTO `test` (`f1`) VALUES (?)');
for($i=0;$i<10;$i++){
$stmt->bind_param('i',$i);
$stmt->execute();
}
Тоесть так? Если $stmt->execute(); вынести за пределы цикла, то вставляется 1 строка.
А так получается каждая строка вставляется отдельным запросом?
Что не верно?
ЗЫ PHP 5.3.8 , MySQL 5.6
----- Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
Мелкий
Отправлено: 05 Марта, 2012 - 11:52:49
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Именно так и должно быть. В теории. Препарированные запросы как раз и должны ускорять одинаковые запросы с различающимися данными.
Но время работы мерить надо. У меня нет данных о том, насколько быстры препарированные запросы.
----- PostgreSQL DBA
snikers987
Отправлено: 05 Марта, 2012 - 11:58:32
Участник
Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011 Откуда: Крым
Помог: 25 раз(а)
Мелкий пишет:
Именно так и должно быть. В теории. Препарированные запросы как раз и должны ускорять одинаковые запросы с различающимися данными.
Но время работы мерить надо. У меня нет данных о том, насколько быстры препарированные запросы.
Ну тогда я лучше сформирую строку запроса и отправлю обычным query().
----- Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.