Задать вопрос
Ответы пользователя по тегу MySQL
  • Как писать данные на каждый день в статистику - дублировать или пропускать?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    если вчера была температура 27 градусов, и сегодня 27, может метеорологам не стоит записывать каждый день температуру?
    Естественно писать, если эти параметры относятся к логированию и построению какой-либо статистики, и к DRY это никаким боком не относится.
    Ответ написан
  • Не запускается mySQL в xampp, что делать?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Setting file 'C:\xampp\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
    проверьте что он не переполнен, поставьте больше...
    Проверьте чем занят порт на который вешается мускуль
    Проверьте если в папке есть пид файл - его надо удалить.
    Ответ написан
  • Рационально ли использовать Redis в данном случае?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Из вопроса делаем вывод что а) данных не много б) они уникальны для пользователя в) запрос простой.
    200 000 * 15 = 3 000 000 000 запросов в день, учтем что подразумевается скорее всего рабочий день, пусть 8 часов, и нагрузка распределена примерно равномерно. 3М/8/60/60 = 104 запроса в секунду, пусть в пике загрузки это будет 300-400 запросов.
    Думаю пока вам хватит даже без масштабирования ресурсов, в дальнейшем при необходимости можно ввести кеширование, правда я не уверен что оно даст большой прирост, так как:
    1) Данные должны быть горячие, то есть кеш на такие данные должен быть короткий, а одинаковые запросы скорее всего сильно разнесены по времени, по этому кеш будет вечно протухшим.
    2) Данные на "узкие" запросы вообще плохо кешируются, так как содержат не массив выборки, а 1 строку, то есть получается много мелких данных вместо 20-30 списков на много строк.
    Ответ написан
    5 комментариев
  • Не записываются данные в таблицу Mysql, как исправить?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    тут только один запрос на вставку, зачем тут 3 запроса?

    В логах сервера ошибок нет.
    Это говорит только о том что логирование не настроено

    if ($aff_id && $parent_aff_id){
            global $wpdb; 
            $table = $wpdb->prefix . 'uap_relations';
            $sql = "INSERT INTO $table VALUES(NULL, %d, %d)";
    var_dump([$aff_id, $parent_aff_id]);
    var_dump($sql); exit(); //тут смотреть и думать
            $q = $wpdb->prepare($sql, [$aff_id, $parent_aff_id]); //здесь вроде массив должен быть
            $wpdb->query($q);
          }

    Во первых посмотреть что в переменных, для этого есть вар_дамп.
    Во вторых, если переменные не пустые, взять запрос, подставить руками значения и выполнить запрос из пхпмайадмин или из оболочки напрямую. Скорее всего какое-то поле является обязательным, но не входит в ваш запрос, либо первое поле (id?) не автоинкремент... В любом случае вы увидите ошибку.
    Ответ написан
    5 комментариев
  • Как отредактировать огромный SQL-файл?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    по доке не пробовали?
    UPD: https://serverfault.com/questions/51982/converting...
    UPD2: емнип, вроде как все индексы и ключи надо убить, после этого сделать конвертацию и создать ключи / индексы, что серьезно ускорит процесс.
    Ответ написан
    Комментировать
  • Как текст с БД вывести в html тег img?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Не хочется писать "а я говорил"...
    1) НЕ ХРАНИТЕ В БАЗЕ ПУТИ, храните только имена файлов.
    2) Не путайте (а вы я вижу серьезно запутались) абсолютные пути (они только для работы с файлами на сервере) и относительные пути (для отображения путей относительно сервера). В хтмл ВСЕГДА выносятся относительные пути. И относительный путь должен начинаться с / (корень сайта). У вас он начинается с имени папки. Слеш добавьте короче, а то он считает папку, добавляя эту строку к текущему урл.
    3) Что, кстати возвращает нас к п.1, не надо хранить пути в базе.
    4) Впереди вас ждет много интересного, так как рано или поздно у вас все равно вася пупкин и вася губкин зальют картинку с одним и тем же именем и у обоих будет одна аватарка на двоих, как этого избежать я уже писал.
    Ответ написан
    1 комментарий
  • Как реализовать добавление фотографий пользователей с папки в MySQL?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    нарабоки класс, осталось мелочи:
    0) проверить что это картинка
    1) проверить что имя картинки уникальное, а то у сотен юзеров будет аватар untitled.jpg последнего загрузившего фото юзера (хинт: лучше не брать то которое дал юзер, а формировать свое гарантировано уникальное, например от логина пользователя)
    2) Указать в запросе условие where, в котором привязать каритнку к конкретному пользователю, а не всем сразу
    Ответ написан
  • Какие значения вставлять в VALUE?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Я щас опять банальщину немного прогоню, но на будущее и в помощь:
    1) Не надо использовать global, это плохо, это говорит о том, что вы что-то делаете не так, совсем не так, и скоро ваши проблемы усугубятся многократно. На этом этапе надо включить голову, подумать почему так вышло, и переделать, пока не слишком поздно и код не превратился в добротное гуано.

    2) Пока вы учитесь и не можете "на глаз" прикинуть что и как работает и почему работает так, а не иначе - var_dump() - ваш рулевой, если что то не работает - начиная от точки отказа и назад к источнику по порядку - фигачете вардамп всего что движется. Так во первых вы найдете что не работает гораздо быстрее нежели на форумах или тут, а во вторых будете попутно делать для себя массу открытий, что все работает вовсе не так как вы думали и содержит не то что вы подразумевали.

    Есть более продвинутые инструменты а ля xdebug, как созреете - можете на него переходить, это гораздо эффективнее. Но на первом этапе хватит и вардампа.
    Ответ написан
  • Как исполнить код взятый из базы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Подход реально наркоманский, если вы включаете какой-то функционал и хотите им управлять - создайте заготовки кода и храните в базе флаги выполнения условий. Так как вы это задумали - наркомания чистой воды.
    Ответ написан
    2 комментария
  • БД статьей на mysql как превратить заголовки статьей в ссылки html файл?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    У меня как бы все полные статьи как отдельный html файл:
    Жееесть....
    Можно ли их адрес как нибудь седлать вместо id?
    можно, но зачем? Для темы сайта - самое то, по-хакерски законспирированные ссылки...
    Ответ написан
    Комментировать
  • Как сделать чтобы начисления происходили не зависимо от посещения пользователем сайта?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Что нужно поменять в скрипте, чтобы бонус выдавался раз в 24 часа,
    не зависимо от того зашел пользователь на сайт или нет.
    Ваще ничего, тупо отсчитывать количество дней от начала вашего "аттракциона невиданной щедрости" и выдавать это количество как монеты. Можно показывать только тогда когда юзер за ними зашел, ну и в тот же момент вносить в бд )
    Ответ написан
    Комментировать
  • MySQL не запускается после неудачного завершения работы. Как восстановить?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Проверьте pid файл, если он есть его надо удалить.
    Ответ написан
    Комментировать
  • В каком виде хранить даты исторических события в БД?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    www.realcoding.net/articles/funktsii-raboty-s-data...

    SYEAR или YEAR Год, записанный словами, а не цифрами; если указано'S' то перед датами до нашей эры ставится '-'.
    BC или AD BC- до нашей эры(до н.э.); AD - нашей эры
    B.C. или A.D. B.C.- до нашей эры(до н.э.); A.D. - нашей эры
    Ответ написан
    Комментировать
  • Оптимизация запросов mysql?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    1) как уже указал вам Кирилл Несмеянов - читайте про джоин, ин и вложенные запросы, задача как раз классическая на джоин и ин.
    2) Абсолютно верно замечено John Didact - из бд вы ВСЕГДА получаете "плоские" данные, однако вы можете для себя их разделить префиксами в алиасах и обработать на стороне кода как удобно.
    3) Большой запрос с множеством джоинов почти всегда лучше нескольких маленьких. Исключение - большие массивы текстовых/блоб полей, но и это обычно не критично, если выставить адекватные лимиты. Как минимум, преимущество в возможности удобного кеширования. Плюс время на открытие/закрытие соединения, плюс не надо гонять туда-сюда полученные данные несколько раз.
    Ответ написан
    Комментировать
  • Могут ли взломать Mysql через открытый порт 3306?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых - откуда вы взяли что бд доступна снаружи? Есть конфиг от бд? 99,9% провайдеров закрывают доступ к бд снаружи, все работает только через локалхост.
    Во вторых - гораздо проще поломать через код, чем брутить пассворды мускуля. читайте свежую статейку от пинтестера на хабре, много интересного узнаете.
    Ответ написан
    Комментировать
  • Насколько нужно неакутуальные данные выносить в отдельные таблицы MySQL?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Сильно зависит.
    Во первых на таблицы могут быть навешены внешние ключи, перенос данных в другую таблицу может "сломать" логику.

    Во вторых, если таблица предполагает наличие реально большого объема, например > 1М записей, имеет смысл что-либо делать, в ином случае вынос в отдельную архивную таблицу мегапрофита не принесет.

    Ну и главное - оптимизация это в основном наука о балансе, то есть надо чем-то пожертвовать ради быстродействия или доступности данных.
    Ответ написан
    Комментировать
  • MySQL сортировка в разные направления в запросе?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    select * from (
        (select * from `games`
    where  date > now()
    order by date desc)
    union
    (select * from `games`
    where  date < now()
    order by date )
                  ) a
    limit 0,50
    Ответ написан
    Комментировать
  • Кто виноват сервер не тянет или скрипты надо допиливать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Буду благодарен за любые мысли.

    Мысль - а неплохо бы для кода профилирование с таймингом сделать, можно посмотреть на какой операции обычно происходит затык при нагрузке.
    Ответ написан
    1 комментарий
  • Друзья в чем проблема пм пж?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Проверить кодировку сервера (apache - AddDefaultCharset utf-8)
    2) Проверить кодировку соединения с бд (должна соответствовать utf-8)
    3) при подключении задать set names utf8
    Ответ написан
    6 комментариев
  • Почему сайт выдает 500 ошибку?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Хостер обновил версию пыха?
    Ответ написан