Значения строки нужны старые или новые?
Если только новые, то из триггера before insert удаляйте дублирующую строку. Костыль, но должен будет работать.
Если старые — можете тут порыться. Или совсем костыль: убрать уникальный индекс и триггером после вставки удалять лишнюю строку.
Выключить телефон, уехать на море. Это же элементарно! Люди кричат о помощи тогда, когда рядом тот, кто может помочь. Если рядом (по телефону, через интернет) никого нет, то обычно справляются сами — проверено опытом! =)
Затраты:
— хостинг
— дизайн
— замена дизайна на сайте на Ваш.
Необходимо знать:
— для сайта нужен хостинг с .NET 4 full trust.
— блог не опен соурс, но можно полностью переделать под себя — там XSLT + C# функции. Очень легко кастомизировать.
— блог не локализирован, но если надо на пару часов работы.
ИМХО:
По времени, при наличии темплейта работы на вечер — два.
Это точно можно назвать предварительной оптимизацией :)
Почему вы считаете что это ненормально? Сдвинуть нумерацию для всех последующих строк — один ненапряжный запрос.
Сколько нагрузки дадут все эти методы «оптимизации» по сравнению со сдвигом?
Как часто происходит перенумерация по сравнению с обычной выборкой? Может не стоит вообще заморачиваться с тем что происходит крайне редко?
Насколько усложнит и замедлит частые операции выборки дополнительные методы «оптимизации» редкой и ненагружаемой операции?
Во всем нужно видеть плюсы. Я вот после проблем с авторизацией стал меньше сидеть на хабре и больше работаю =) А вообще задолбало, да… Как браузер закрою, приходится снова логиниться.
это напоминает одну историю про покупку стиральной машины в Эльдорадо,
однин мой знакомый в декабре решил купить стиральную машину, ходил регулярно и ждал скидок…
Цена на машинку была 13-200. И вот Ура! Объявление о скидках большими буквами 10-15%. Подходит в выбранной модели и что он видит:
Старая цена: 14-800
Новая цена: 13-200
https://github.com/sebastianbergmann/php-hudson-template сбор всех инструментов в одном месте с интеграцией в сервер CI hudson. PHPunit можно отключить.
Самый быстрый исполняемый код — это тот, который написан вменяемым программистом. Если у вас код выполняктся за O(nn), хотя есть алгоритм, делающий тоже самое за O(n), вам никакой компилятор не поможет.
А так неплохие результаты выдают компилер студии и GCC. Ну и Intel C++, хотя его надо твикать, чтобы получившийся бинарник не тупил на AMDшных процах.
Как-то вот так.
По поводу оптимизаций — компилятор знает про выравнивания, конвеер и ещё кучу разных вещей, которые даже за счёт в нужном месте воткнутого NOP ускорят код в несколько раз.
Смысл есть. Если не написать !, то функция будет распознана как function declaration, а ее нельзя сразу же вызвать, т.е.
function (){
/* body */
}()
Вызовет ошибку. Но добавив оператор, мы «конвертировали» наше function declaration в function expression, которое уже можно вызывать по вышеуказанной схеме. Стандартный эквивалент
Точку напрямую подключаете к компьютеру? 30-30-30 reset (зажать на 30 секунд reset → не отпуская reset выключить питание на 30 секунд → включить питание, продолжая удерживать reset ещё 30 секунд) делали? Родной программкой конфигурации пробовали её находить? Если всё это не помогло — ищите «Linksys WAP54G debrick» (люди описывают методику с замыканием 16 контакта флэша через резистор на 22 Ома на землю).
Надежность можно повышать до бесконечности и то это не обережет от всех случаев. И Яндекс, и Фейсбук падали.
Чтобы давать советы, нужно понимать архитектуру сайта. Причины падений тоже много и по каждым можно защищаться. Все зависит от денег. Можно пострадать как от форс-мажоров (сгорел ДЦ), так и от различных атак.
Средства uptime'a
RAID
БД репликация, БД шардинг
Балансировщик (либо через nginx, либо DNS IP) нагрузки на N фротендов.
Разнесение фротендов и бакендов по датацентрам
BGP