"Операция UPDATE идет в три этапа: поиск того, что будете менять, затем запись данных, обновление индексов. При этом, чем больше таблица, тем дольше поиск. Если есть индексы, то операция кешируется и выполняется достаточно быстро. Но сам процесс очень емкий. И только дурак не догонит, что большая таблица со множеством индексов и записей, будет тормозить при UPDATE. INSERT же выполняется одним залпом, очень быстро."Вото с этим блоком не могу согласится. Хм... а при Insert что, индекс не обновляется? Это что-то новое. В том то и дело, что все как-раз наоборот работает в описанной ситуации. В такой таблице есть индекс по id (может быть и по другим полям) а поле-счетчик естественно никто не индексирует и при insert сначала субд надо записать данные, а потом еще и как минимум обновить индекс по id. Когда же идет update, то происходит поиск по индексу id (это довольно быстро) и инкремент поля-счетчика, индекс не трогается, т.к. поле-счетчик в нем не присутствует. Ещё хотел сказать, что стоит для таблиц, где накручивается счетчик просмотров, использовать тип InnoBD. Тогда не будет блокировок таблицы, блокироваться будут только обновляемые записи и это, не смотря на более долгую работу select в таких таблицах, даст общий выигрыш в работе с ними.
|