Работа с БД

Поддержка
  • @GhostZ спасибо за подсказку, действие "количество записей" сработало отлично.
    Можете ещё подсказать, если у меня будет в базе данных больше 10 тыс строк, это действие будет проверять наличие по всей базе данных?

  • @Encoder95, вот об этом я не знаю

  • @Encoder95 said in Работа с БД:

    Можете ещё подсказать, если у меня будет в базе данных больше 10 тыс строк, это действие будет проверять наличие по всей базе данных?

    по всей. А вообще проще mysql подключить. Удобнее

  • Спасибо за ответы. В mysql я пока не шарю)

  • После того как подключил к скрипту Базу данных, он начал сильно залагивать (в БД около 1 млн строк), когда же загружаю с файла в список и проверяю в нём на наличие, скрипт работает нормально. Вот хотел спросить у знающих людей, неужели работа с БД всё таки сильнее нагружает и лучше использовать файлы если оперативная память позволяет?

  • @Encoder95 Дело в том, что в БАС мало методов для работы с БД и из-за этого не всегда возможно сделать оптимальный запрос. А учитывая, что запросы к БД в БАС синхронные, то если у вас циклами несколько потоков пытаются проверять записи в БД, то это заблокирует работу БАС. Я работают в таких случая через nodejs, например для вашего случая можно было бы получать "пачку" юзернеймов и сразу отдавать ее в БД на проверку. Только вот для новичка это будет сложновато ( В вашем случае, если это возможно, можно сделать отдельный поток, который будет получать юзернеймы, проверять в БД и новые кидать в ресурс из которого другие потоки будут брать никнеймы.

  • @UserTrue ну тот скрипт на котором я проверял однопоточный. Он парсит при помощи xpath пачку юзернеймов, а потом из списка достаёт их по одному и проверяет на наличие в БД (действием "количество записей"), если есть юзернейм, возвращается назад и берёт след, если нет выполняет действия. А я могу каким то образом отсеять сразу часть списка которая уже есть в БД, а не проверять по одному? уменьшит ли это нагрузку?

  • @Encoder95 said in Работа с БД:

    А я могу каким то образом отсеять сразу часть списка которая уже есть в БД, а не проверять по одному? уменьшит ли это нагрузку?

    Это, то о чем я говорил. Это возможно только, если через nodejs подключаться к БД, там можно сразу весь список дать на проверку, займет долю секунду. В БАС к сожалению из коробки этого способа нет

  • @UserTrue у вас случайно нет какой то ссылки где я смогу подробнее про это почитать?

  • @Encoder95 Вот тут запостил https://community.bablosoft.com/post/62783 тк периодически возникает такой вопрос у страждущих, не уверен, что вас этот обрадует )

    Другой мой вариант где-то плавает на форуме, но этот лучше, тк кэширует подключение.

  • @UserTrue благодарю)