netwind

Рейтинг
419
Регистрация
06.05.2007

mysqli выглядит как бескостыльный.

ну разве что вам придется вместо insert into .. values (..), (..)

сформировать кучу отдельных операторов.

и, пожалуй, ожидать наличия mysqli на произвольном хостинге не стоит.

Еще можно ввести в таблицу "метку вставки" = значению функции connection_id() - она уникальна в рамках одного сервера.

а потом выбирать id вставленных строк по этой метке.

lstaticl:
Давно проверено, что INSERT запросы в цикле отрабатывают значительно медленнее, чем MULTI-запрос. (Одна из тем: http://zendframework.ru/forum/index....sg5800#msg5800)

Слишком безаппеляционно, не находите?

Допустим вы напишите большую вставку и тем самым заблокируете select-запросы и скрипты всего сайта (!) остановятся на 1-5 секунд, после чего все вместе начнут исполнятся - нагрузка скаканет и неизвестно выравняется ли потом вообще.

по идее C-api это позволяет - посылать пачку запросов и последовательно забирать результаты

не уверен что в php это реализовано правильно.

http://ru.php.net/manual/en/mysqli.multi-query.php

А расскажите зачем вам это нужно?

Числом запросов много времени не сэкономить. Подобное используется если mysql-сервер подключается по тормозной сети. Тогда отправка мелких запросов крупными пачками и получение ответа опять же пачкой выгоднее по времени.

netwind добавил 24.01.2011 в 15:57

CyBase:
lstaticl, MySQL умный.
mysql_insert_id() выдаст первый идентификатор
mysql_insert_id()+3 - выдаст последний идентификатор

Если запустить два процесса на вставку параллельно, второй будет ждать окончания первого

интересно. но что произойдет если используется innodb ? я не знаю, кстати.

счетчик auto increment он как бы сам по себе и не зависит числа вставленных записей.

Andreyka, будет, но покажи мне хороший форум где это реализовано из коробки?

zexis:
Поэтому почтовые сервера шлют много уведомлений моему серверу пользователю www
Mail delivery failed: returning message to sender

так это ведь твой же сервер и шлет в большинстве случаев.

по-моему в постфиксе можно подкрутить где-то чтобы не создавались такие письма.

HTTPD, а откуда они про это узнают? для этого мать нужно подключить и вспомнить проверить версию прошивки. Крупные магазины могут на это наплевать.

Ну перепрошьет назад в крайнем случае.

fima32:
Либо мать глючит конкретно с этими хардами, либо один хард глючный, а и у матери один канал sata глючит.

милок, так у тебя же трусы линяют! (c)

это BSD глючит. Ну хотя бы биос перепрошей, прежде чем возвращать.

Специально для этого существует SQL_CALC_FOUND_ROWS и SELECT FOUND_ROWS();

Но использовать его нужно только тогда, когда возникает задача описанная в первом посте и вы действительно запросите все эти строки.

Не нужно использовать эту функцию для оценки числа подходящих записей, которые вы не будете выводить на странички - у вас получится DLE, а записи на самом деле все равно будут подниматься и оцениваться сервером.

Если объем данных не такой большой, чтобы удобство программирования превалировало над потенциальной проблемой производительности, то отчего бы не использовать.

Trafikgon, в конце концов все сводится к базе срабатывающих в определенных условиях сигнатур. Поэтому можешь попробовать clamav интегрировать в свою программу. Там эти сигнатуры уже есть.

Надеюсь, этой идеи хватит до лета, а там и к бабушке.

Чтобы создать свои сигнатуры придется поработать настоящим вирусным аналитиком.

rtyug, fulltext все тот же key_buffer использует, значит можно.

Всего: 6293