DrunkMaster: если members не уникальный, тогда да, смысл теряется, с другой стороны - тогда скорее всего "что-то пошло не так" при проектировании структуры бд. Слишком сложное построение для, в сущности, не очень сложной связки структур. Либо, что вероятнее, попытки упростить структуру за счет потери связей "многие ко многим". Чистое имхо, бо так и не видел ни таблиц, ни связей, ни структуры. PS: Что с кешем? Не пробовали или не помогает?
DrunkMaster: если я правильно понимаю структуру таблицы(не уверен, не видел) count по members даст вам точное количество, его останется только поделить на 2(а можно и более раз).
Дмитрий: При операциях DELETE, INSERT и UPDATE индексы всегда перестраиваются, если было изменено поле, которое в них входит и если индексы явно не выключены (по умолчанию они включены). Верно и обратное, индексы не трогаются, если индексные поля не были затронуты.
Сергей: Из доки: "В случае успешного выполнения функции возвращаемое значение зависит от режима выборки. В случае неудачи, функция всегда возвращает FALSE."
Rsa97: насчет не должен - часто в бд просто вливается свежий прайс, ни о какой замене и убран из продажи речи там даже не идет, тупо перезаливается все. Так что я дублирую строчку + данные о продаже, количество и тд.