Edgark, не бывает плохих скриптов, бывают бутылочные горлышки в стратегии обработки или взаимодействия, которые нужно понять как обходить. Для начала нужно сделать анализ скрипта, какие его части в каком интервале времени работают, и выделить проблему в тех частях, где тратится много времени.
Приведите упрощенный пример, как вы производите операции, желательно с таймингом, чтобы понять, где у вас затык в скорости.
Например, можно составить такой лог:
John Smith, этот справочник не показатель.
У меня модель ноута np300e5x, и он тоже показывает потолок в 8 гигов, хотя можно спокойно вставить 2 планки по 8 гиг.
Тут больше зависит от того, какой процессор стоит, так как внутри проца контроллер памяти. У меня процессор i5-3210M - он поддерживает 32 гига ОЗУ. Однако, слота 2 в ноутах, а планок по 16 гиг DDR3 в природе не существует. Значит, можно вставить только 8x2 конфигурацию.
Если у автора в ноуте процессор i3-2310M, то в него можно поставить тоже 8x2 конфиг, так как потолок все равно в 16 гигов. Только планки желательно взять на 1333 скорость, так как этот проц. предыдущего поколения, может не заставить планки 1600 понизить скорость.
За счет оборачивания запросов, то что на нижнем уровне было вычисляемым свойством на верхнем превращается в обычное скалярное значение, которое можно спокойно как фильтровать в where, так и сортировать. gsaw можно оформить в виде ответа.
Первый пример еще хорош, что свойство length получают из массива единожды.
А во втором - при каждой итерации, это не есть хорошо, если предстоит перебрать over9000 элементов.
Интерпретаторы JS в браузерах не умеют оптимизировать повторяющиеся извлечения свойств, так что лучше привыкнуть получать length перед циклами.
Я так понимаю, что для хоть какого-то серьезного использования гаджеты никому не нужны, поэтому их никто не отлаживает. Они такой же декоративный элемент, как знаменитая скрепка в MS Office 2003.
Если вы хотите именно обзванивать клиентов с помощью автоматики, вы точно хотите, чтобы они никогда к вам не обращались?
Это один из вредных советов, как улучшить наплыв клиентов на свой сайт.
С индексацией знакомы? Индексы создали по тем полям, по которым делаете проверки и поиски?
Какое время поиска той или иной строки по индексируемым полям в вашем случае?
Если ресурс является для вас действительно критичным, то вы запомните пароль, даже если он состоит из рандомных символов, как стишок в детском саду, и не будете его хранить ни в каких менеджерах паролей, которые упрощают жизнь. Для некритичных ресурсов - да деваться некуда, будет использовано холодное хранилище (бумажный блокнот), менеджеры паролей, простые пароли и т.д.
1) Вы уверены, что в команде "pip install dislash" можно писать название модуля без расширения?
2) Вы уверены, что питоновский интерпретатор выполнит консольную команду, если ему скормить ее открытым текстом в его исполняемых файлах?
В таблицах "Товары" и "Поставки" не нужно создавать дополнительных внешних ключей к таблице "Цена". Текущих полей таблицы "Цена" достаточно, чтобы определять начальную цену товара (как розничной, так и закупочной) в момент создания записей в таблицах "Товары" и "Поставки", так и добавлять динамику изменения цен.
Я убрал лишний комментарий. Добавил комментарий, как пользоваться id_cost_next.