yii2 mongodb $cursor->toArray Работает слишком медленно -- как ускорить выборку больших объёмов данных из mongo в проложение

Вызов типа:

$cursor = \Yii::$app->mongodb->createCommand(\Yii::$app->mongodb->getQueryBuilder()->aggregate(
		$collection->name, $pipeline, 
		['allowDiskUse' => true, 'cursor' => ['batchSize' => $this->batchSize]]))->execute();

$resultArray = $cursor->toArray();

-- практически все время при большой выборке потратит на вызов toArray(), и это будет проходить медленно.

Итерируемся сами

Можно итерироваться по курсору, без вызова toArray(), но даже пустая итерация типа:

mongodb Как ускорить сортировку $sort (что делать, если она медленно работает)

Делаем так:

  1. Проиндексируйте поля по которым ищите (учитываетй, что sprace подходит не всегда)
  2. Максимально облегайте сортируемые записи с помощью $project
  3. Следуйте общим рекомендациям по оптимизации

mongodb sprace Индекс и скорость сортировки

mongodb 3.4 не использует спрэйс индексы, если не во всех документах есть указанные значения:
Актуальная информация: https://docs.mongodb.com/manual/core/ind...

Используйте индексы без sprace, если вы не уверены в том, что в каждом документе есть идексируемые поля.

symfony FOSUserBundle -- как удалить валидацию ненужных полей

Предположим, что вы используете FOSUserBundle для регистрации пользователей в вашем проекте. И возможно, вам не нужны некоторые стандартные поля, предлагаемые пакетом. А значит, вы уже переопределили форму регистрации RegistrationType.php.

Но теперь при попытке регистрации получаем предупреждения о невалидных значениях удалённых полей.

Что мы знаем о валидации в Stymfony FOSUserBundle

Файл валидации FOSUserBundle в Symfony находится по адресу:

git-ftp Установка в Ubuntu Linux

Устанавливаем:

sudo apt-get install git-ftp

(установится как расширение команды git)

И переходим к настройке локального репозитория.

git-ftp Установка в Windows

В качестве реализации Git мы будем использовать Git for Windows (https://git-scm.com/download/win), а конкретнее - устанавливаемую с ним командную оболочку Gii Bash.

Установка в Windows

Запускаем Git Bash (от имени администратора), все команды командной строки мы будем выполнять в этой оболочке.

Зайдём в папку, в которую хотим установить :

postgresql - дать права пользователю на базу данных / таблицу

Forums:

Если вы создали нового пользователя для работы с определённой базой данных, и нужно дать ему полные права для работы со всеми таблицами:

CREATE USER readonly  WITH ENCRYPTED PASSWORD 'readonly';
GRANT USAGE ON SCHEMA public to readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly;

Код, описанный ниже повторите для каждой базы данных, в которых будет работать пользователь:

postgresql - создать пользователя с encrypted паролем или без него

Forums:

  • Для начала нужно подключиться к базе
  • Создаём пользователя c обычным паролем:
    CREATE USER username WITH PASSWORD 'password'
  • Если вы хотите использовать шифрование пароля, можно внести изменения:
    ALTER USER username with encrypted password 'password';
  • Если вы выбрали второй вариант, не забудьте корректно настроить конфигурации postgreSQL. Способ идентификации тогда будет md5

Pages

Subscribe to fkn+antitotal RSS