Вопрос : Тревога с высокообъемными отборными заявлениями

Я писал укротитель встречи php таможни использует удостоверение личности встречи невыполнения обязательства но магазины данные по встречи в базе данных MySQL. Место менеджер регулирует грубо визитеров 30k день, каждые из производят встречу грубо 5 пишут и взгляды вверх в очень быстро последовательности должной к AJAX спрашивают. Такой же вопрос возникал using сервер MS SQL как платформа хранения. Проблема происходит на встрече пишет. Функция писания сперва пытается обнаружить местонахождение существующий вход в таблице встречи при используемое удостоверение личности встречи (по мере того как главным образом ключ) и после этого или вставки или уточнения показатель соответственно. Случайн (1%-5% из встречи пишет) первоначально взгляд вверх приходит назад пусто даже если встреча не нова, и будет рядок в базе данных приложенной к удостоверению личности встречи логика тогда пытается ввести новый рекорд, только для того чтобы побежать afoul ограничения по уникальности главным образом ключа. Это причиняет неприемлемый отказ. Отказ отрегулирован относительно грациозно, но обеспечивает значительно ухудшенный опыт потребителя. После того как много попыток разрешить вопрос, я неудачны. Таблица использует InnoDB как двигатель и utf8_general_ci как характер - комплект. Стержень app бежит на рамках Zend и использует функциональность DB рамок. Проблема все еще происходит когда reglar соединения mysqli использованы вместо. Любая проницательность больш была бы оценена. Кодий Psuedo для встречи пишет обеспечено ниже. class= " lineNumbers " >
1 >
function " prettyprint " " class= id= " codeSnippet766935 >
query (sql); // случайн приходит назад с 
                           результат // нулевой установил даже если
                           показатель встречи // существует
    если (отсчет (рядки) > 0), то
        updateRecord (удостоверение личности, sessionData);
    еще
        // после этого пытается ввести двойной рядок
        insertNewRecord (удостоверение личности, sessionData);
    возвращение;
class= " ясное " > 
class=

Ответ : Тревога с высокообъемными отборными заявлениями

1 - Регулируя уточнение с вопросами SQL, испытывает удар
ВВЕДИТЕ *** НА *** УТОЧНЕНИЯ ДВОЙНОЙ КЛЮЧА

cf http://dev.mysql.com/doc/refman/5.0/fr/insert.html

2 - В виду того что вы регулируете в параллельных экземплярах $_SESSION и sql данных по встречи, вы могли рассматривать хранить удостоверение личности sql в данные по $_SESSION
Когда вы делаете первое пишете вставку?
В некоторые случаи $_SESSION обновлено only after страница а…

3 - Оно кажется вы реально играет в опасной области где точное время реально не гарантировано а где вы должны поэтому надеяться серии тревог.
Я попытался бы пересмотреть и уточнить данные по встречи только на некоторых важных событиях, так, что любой спрятанный в тайнике вопрос SQL будет иметь некоторое время исполнить. Ваша система после этого была бы более робастна, и нагрузка на сервере также упала бы значительно.
Или имейте некоторое $_SESSION держать фиксацию времени последнего уточнения и уточнять только после 2 секунд
Конечно, очень Ajax-как но hey, эт быть в зависимости от ваш сервер SQL и усилие вы положили дальше его. Микросекунды или уточнения даже milli- или centi-секунд отлично для Ajax, но не для сервера SQL
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us