Ответы пользователя по тегу MySQL
  • Почему не работает код?

    @Alex_At_Net
    Обращайтесь, помогу - https://t.me/codecraft_phd
    Ваш код выглядит правильно. Я думаю, что лучше всего будет пропробовать распечатать запрос. Например, сохраните его в файл или в лог. Проверьте, что запрос с WHERE корректно собрался.
    Ответ написан
    3 комментария
  • Как отослать несколько запросов к БД MySql в одном get-запросе?

    @Alex_At_Net
    Обращайтесь, помогу - https://t.me/codecraft_phd
    Вы можете сделать следующий запрос из результата предыдущего:

    app.get('/', function(req,res) {
        connection.query('SELECT ...', function (err, rows1) {
            if (err) throw err;
            connection.query('SELECT ...', function (err, rows2) {
               if (err) throw err;
               res.render('index', {menu: rows1, articles: rows2});
           });
        });
    });


    Есть и другие механизмы: promises, async/await, async.js.

    База и запрос, как на мой взгляд, норм.
    Ответ написан
    Комментировать
  • Как правильно удалить лишние данные из большой таблицы Mysql?

    @Alex_At_Net
    Обращайтесь, помогу - https://t.me/codecraft_phd
    Похоже, что для поля ts нет индекса. Поэтому происходит скан всей таблицы при поиске данных. Ну, точнее, поскольку LIMIT, то не всей, а только пока находятся соответвующие записи. По мере их удаления приходится сканировать все дальше и дальше - соответственно время и растет.

    Можете попробовать создать индекс по этому полю - должно стать лучше, но это сама по себе долгая операция. Можно попробовать поступить наоборот - создать временную таблицу и перелить в неё только нужные данные за один проход. Что тоже не очень быстро будет, конечно, но зато старую таблицу можно будет удалить целиком (все равно её потом компактизировать скорее всего захочется, что тоже долго).
    Ответ написан
    Комментировать