P747, составной индекс сделать можно 2 способами:
1) Column1+Column2;
2) Column2+Column1;
В 1 варианте, если будете искать по Column1 оптимизатор выберит этот индекс и будет его использовать частично, только по полю Column1. Но если нужно искать только по Column2 этот индекс уже не подойдет.
2 вариант то же самое, только для поля Column2.
Цель составного индекса Column1+Column2, это поиск по Column1, а в найденном поиск по Column2.
twobomb, не гребите всех под одну гребенку. На мало-мальски нагруженной системе - это вполне реальная ситуация. На системе нагруженной - такая ситуация проявляется постоянно. Но даже в случае слабо нагруженной системы, денежные операции должны быть защищены от подобных ошибок.
RxR, покупка товара как синхронная операция - это единственное решение. Другое дело с запросами. Либо блокировка и ожидание, либо, как писал Иван Шумов добавление идентификатора состояния, и отказ, если состояние изменилось, либо очереди. У каждого решения есть свои минусы и плюсы. Выбирать нужно исходя из того, что вам крайне важно, а чем можно поступиться.
Фокс Йовович, это зависит не от СУБД, а от уровня изолированности транзакций. При высоких уровнях изолированности действительно можно получить нужный результат без дополнительных инструментов. Только это та же самая блокировка, пусть и на уровне СУБД. Но такие уровни изолированности применяются очень редко (практически никогда), т.к. производительность падает в пол.
Manjaro не умеет в загрузку установочного носителя в UEFI из-за отсутствия (или присутствия, но плохой) подписи.
Не так, Arch не работает с Secure Boot не "из-за отсутствия (или присутствия, но плохой) подписи", поддержка Secure Boot в установочном образе Arch выпилена еще в 2016, причина проста - вещь бесполезная в плане безопасности, которая просто мешает работе.
Secure Boot - это система безопасной загрузки ОС и загрузчиков при старте системы, разработанная Microsoft, и последняя обязала всех производителей железа включать эту настройки и распространять со своими ключами. Т.е. по факту система, которая способна загружать только Windows. Производителям других систем необходимо либо договариваться со всеми производителями, либо идти на поклон к Microsoft и покупать у них ключ, многие крупные вендоры Linux так и сделали.
Затем появился shim, подписанный Microsoft, который позволяет грузить что угодно. Это невилировало аспект безопасности Secure Boot с ключами Microsoft.
На данный момент, единственный способ безопасно пользоваться Secure Boot - это удалить ключи Microsoft и установить свои, и самостоятельно подписывать только те продукты, которым доверяешь.
Тем не менее, многие linux-дистрибутивы типа Ubuntu используют ключи Microsoft чтобы повысить шанс установки и запуска ОС на любой системе без каких-либо настроек. Но это не соответствует политике Arch, которая подразумевает, что пользователь понимает, что он делает. А Manjaro видимо, посто не хочет заморачиваться этим вопросом.
Александр Павлюк, то что Go быстрее это очевидно, вопрос про скорость разработки, ради чего пожертвовали ею?
В PHP много возможностей для статической типизации. При чем в той степени, которой вполне достаточно, чтобы контролировать типы. Плюс возможность динамической типизации, которая сокращает код в отдельных моментах.
Смотреть логи, если в них ничего нет, добавить логи и опять смотреть логи. В вашей ситуации нужно установить в первую очередь, где теряем время, соответственно добавьте логи фиксирующее время обработки на различных узлах.
dsbk, тогда либо генерите эти функции динамически опираясь на заданные значения в массиве. Либо, сделайте генератор кода, пусть он напишет все эти многочисленные повторения одного и того же.
Либо, решите, что назрела проблема и требуется рефакторинг, и тогда по алгоритму в моем ответе.
EVGENIJ NEFEDOV, чем вы грузите CPU? Если это сложная аналитика по агрегатам, то может есть резон формировать их на отдельной СУБД, например, колоночной.