Ответы пользователя по тегу MySQL
  • Как можно перелить бинарные данные (фотки) по сети из MSSQL в MySQL 5.7?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Не работал c MSSQL, но судя по обычной документации, тип IMAGE в MSSQL - обычный blob. Двоичные данные размером до 2Гб. То есть, MSSQL IMAGE и MySQL BLOB должны быть совместимы.
    В phpMyAdmin даже помню была возможность выбора при импорте данных, в формате какой именно СУБД представлен файл, который нужно загрузить в БД.
    Так что, вполне возможно стандартными методами экспортировать данные из MSSQL и импортировать в MySQL. И не придётся задумываться о таких вещах как base64.
    Ответ написан
    Комментировать
  • Как перевести БД MySQL на БД PostgreSQL?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Если никаких фич, кроме непосредственно таблиц и данных в них, вы не используете (хранимых процедур, триггеров и т.п.), то, насколько я помню, в phpMyAdmin есть функция экспорта, в которой можно указать, синтаксис какой СУБД использовать для результирующего дампа в SQL. И Postgres там был.
    UPD:
    Посмотрел в демо phpMyAdmin, ошибался, нет там экспорта в формат постгреса
    Попробуйте посмотреть что-нибудь из этого списка
    UPD2:
    У стандартной команды mysqldump есть опция --compatible, где можно указать значение postgresql: https://dev.mysql.com/doc/refman/5.7/en/mysqldump....
    Ответ написан
    Комментировать
  • Целесообразно ли хранить картинки в БД?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Оба методы имеют свои достоинства и недостатки, но всё же хранение в виде простых файлов более органично. Это статика, которую нужно отдавать пользователю без участия скриптов.
    Ответ написан
    Комментировать
  • Что делать, когда растет база данных?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Я бы сначала привёл в порядок индексы таблицы, так как тот же поиск по неиндексированному полю - это очень плохо.
    Далее, можно сделать аналогичную по структуре таблицу а-ля "order_archive", туда автоматически переносить все старые/выполненные/еще-по-каким-то-условиям-отобранные, короче, уже не актуальные заказы. И если нужно какую-то статистику, искать уже по ней, не трогая актуальные. Желательно этот поиск вынести с рабочего сервера, интернет-магазину ни к чему видимые пользователями лаги.
    В довесок к вышеперечисленному, если хочется очень быстрых запросов в плане статистики, можно настроить Sphinx и искать по нему, он очень быстр (пробовал), или ElasticSearch (собираюсь пробовать)
    Ответ написан
    Комментировать
  • Как мне сделать правильный ajax запрос?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Можно при потере фокуса полем ввода города, отправлять введенное туда значение на сервер, там пробовать искать в БД город по значению, и если есть - возвращать область и страну.
    Ответ написан
  • Как устранить проблему пропусков при записи в myisam таблицу?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    InnoDB - транзакционное хранилище, и если вы явно не стартуете транзакцию, каждый ваш запрос неявно оборачивается в транзакцию (если не настраивать это иначе, в вашем случае, думаю такого не было). Если вы начнете явно открывать транзакцию перед вставкой ваших многих тысяч записей, и в конце коммитить, прирост по скорости будет раз в 100. Попробуйте так для начала, а про пропуски звучит, если честно, бредово как-то.
    Ответ написан
    8 комментариев
  • MYSQL Insert - импорт json файла с большим количеством данных - как?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Из личного опыта:
    - "сервер похоже не вывозит выпадая с 500 ошибкой" - а лог ошибок на что? Там все написано, почему падает.
    - самое страшное - делать запросы на изменение данных вне явно открытой транзакции в транзакционную таблицу (InnoDB). set autocommit=0, стартуете транзакцию и можно циклом вставлять данные. Неявная транзакция на каждый запрос замедляет работу раз в 100-200.
    - вариант @zelenin'а c пакетным запросом - вообще не пробовал, но может быть хорошей альтернативой явным транзакциям.
    - нет никакой нужды выполнять такое через веб, и иметь нюансы, с ним связанные - таймлимиты php и самого веб-сервера. Выполняйте импорт, запуская скрипт из командной строки. Я так демонов делал, работали по принципу "запустил и забыл", но это уже совсем другая история.
    Вообще ~1300 записей о отелях и 32000 фотки (чисто url'ы с описаниями, наверно?) - не так много данных, скорее всего узкое место у вас - именно передача данных из PHP в MYSQL.
    Ответ написан
    6 комментариев
  • Как реализовать управление курсором мыши с сервера?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Если вопрос касается именно курсора мыши, то да, никак (без системного доп.софта), если же суть в просмотре действий пользователя и управлении страницей, то извратиться можно. Навскидку: просмотр реализуется, как в Яндекс.Метрике, управление теоретически можно реализовать посредством вебсокетов, отправляя странице инструкции куда нажать (click()), поместить фокус в поле ввода (focus()), задание значений полям ввода (кроме, наверно, поля пароля)
    Ответ написан
    Комментировать
  • PHP-cкрипт не может подключиться к MySQL при работе из консоли и веб-сервера с одними и теми же настройками?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Не, ребят, так не пойдет. Даже в документацию заглянуть не удосуживаемся прежде чем писать такие вопросы.
    Привыкли что везде указывается в виде host:port? Неа.
    $mysqli = new mysqli('localhost', "user", "pass", "db", 3306);
    

    И локалхосты тут не при чем. И не спрашивайте, почему «оно работало хотя бы на консоли/на веб-сервере»
    Ответ написан