Gorod.dp.ua » Міські форуми / Городские форумы
Всього знайдено 14, показано з 1 по 14.

Тема: тупит Mysql

  1. #1

    Реєстрація
    10 листопад 2008
    Дописів
    78

    Типово тупит Mysql

    куда копать? Ситуация такая, обновляем записи в базе в цикле
    ... set name = 'IVAN' where name is null
    ... set name = 'TOLIK' where name is null
    потом тут же делаем выборку
    select ... where name is not null - и нифига не выводит. Обновляем страницу - выводит. КАК побороть?

  2. #2
    Модератор Аватар для turist_ua
    Реєстрація
    01 жовтень 2006
    Звідки Ви
    Дніпро
    Дописів
    16 105

    Типово

    Цитата Допис від nopresent Переглянути допис
    куда копать? Ситуация такая, обновляем записи в базе в цикле
    ... set name = 'IVAN' where name is null
    ... set name = 'TOLIK' where name is null
    потом тут же делаем выборку
    select ... where name is not null - и нифига не выводит. Обновляем страницу - выводит. КАК побороть?
    начните с правильной формулировки запроса, приведения полных исходников того участка, на котором, на Ваш взгляд, что-то тупит. Профайлинг сделайте, в конце концов. Зачем у Вас строковые столбцы помечены как NULL вообще неясно, там традиционно NOT NULL ставится

  3. #3

    Реєстрація
    10 листопад 2008
    Дописів
    78

    Типово

    Цитата Допис від turist_ua Переглянути допис
    начните с правильной формулировки запроса, приведения полных исходников того участка, на котором, на Ваш взгляд, что-то тупит. Профайлинг сделайте, в конце концов. Зачем у Вас строковые столбцы помечены как NULL вообще неясно, там традиционно NOT NULL ставится
    профайлинг - погуглил, пока не понял что он мне показывает.
    Картина такова. Юзера заходят на страницу (все юзают одну таблицу) выбирают себе (продукт + уникальный ID). Несолько пользователей одновременно могут выбрать один и тот же продукт но с разыми ID. Затем делается коментарий к связке продукт + ID. Дальше пользователь подтверждает изменения, делается апдейт его изменений по логиге
    1. если добавлен коментарий - делаем апдейт коментария к связке ID+продукт
    2. если пользователь прописал коменты не ко всем связкам - эти связки надо разблокировать для других пользователей.
    вот и получается если делаем только 1 - всё ок, но остаются и заблокированные связки, если делаем 1 + 2 то таблица остаётся без изменения, такое ощущение что 1 не успевает внести изменения и 2 считает что юзер ничего не менял для этих связок, хотя в коде последовательность именно такая, как я описал.

  4. #4
    Аватар для VIP12
    Реєстрація
    11 березень 2009
    Звідки Ви
    Мелитополь
    Дописів
    774

    Типово

    Цитата Допис від nopresent Переглянути допис
    не успевает внести изменения и 2 считает что юзер ничего не менял для этих связок,.
    а что если использовать транзакцию , тогда у Вас либо все отработает либо нет , а без структуры таблиц и замих запросов , не очень понятно как-то

  5. #5

    Реєстрація
    08 липень 2009
    Дописів
    1 617

    Типово

    Цитата Допис від nopresent Переглянути допис
    профайлинг - погуглил, пока не понял что он мне показывает.
    Картина такова. Юзера заходят на страницу (все юзают одну таблицу) выбирают себе (продукт + уникальный ID). Несолько пользователей одновременно могут выбрать один и тот же продукт но с разыми ID. Затем делается коментарий к связке продукт + ID. Дальше пользователь подтверждает изменения, делается апдейт его изменений по логиге
    1. если добавлен коментарий - делаем апдейт коментария к связке ID+продукт
    2. если пользователь прописал коменты не ко всем связкам - эти связки надо разблокировать для других пользователей.
    вот и получается если делаем только 1 - всё ок, но остаются и заблокированные связки, если делаем 1 + 2 то таблица остаётся без изменения, такое ощущение что 1 не успевает внести изменения и 2 считает что юзер ничего не менял для этих связок, хотя в коде последовательность именно такая, как я описал.
    Судя по тому, как вы написали - криво очень все.
    Юзеров идентифицируйте по хешам которые нужно сохранить у них в куках или сессиях.
    Выборы продуктов пользователями сохраняйте в отдельной таблице ID продукта \ хеш пользователя \ и т.п.
    Комментарии и статусы блокировок тоже в отельную таблицу. и т.д.

    Короче структуру пересматривайте, или мож я че-то не понял
    Востаннє редагував tvn2009: 27.03.2012 о 12:55

  6. #6
    Модератор Аватар для turist_ua
    Реєстрація
    01 жовтень 2006
    Звідки Ви
    Дніпро
    Дописів
    16 105

    Типово

    Весна - пора дипломов Сдается мне, что там код такой же, как и объяснение работы.

    Про нормирование БД почитайте на досуге. Профайлинг даст Вам время исполнения запросов, чтобы понять на каком этапе что тормозит.

  7. #7
    Модератор Аватар для turist_ua
    Реєстрація
    01 жовтень 2006
    Звідки Ви
    Дніпро
    Дописів
    16 105

    Типово

    Цитата Допис від tvn2009 Переглянути допис
    Выборы продуктов пользователями сохраняйте в отдельной таблице ID продукта \ хеш пользователя \ и т.п.
    скорее не хеш пользователя а ид пользователя в БД. Я бы еще редиску прицепил, если это диплом - тогда можно еще страниц 10 текстовки про документо-ориентированные хранилища данных подкинуть и умно вращать глазами при защите

  8. #8

    Реєстрація
    08 липень 2009
    Дописів
    1 617

    Типово

    Цитата Допис від turist_ua Переглянути допис
    скорее не хеш пользователя а ид пользователя в БД. Я бы еще редиску прицепил, если это диплом - тогда можно еще страниц 10 текстовки про документо-ориентированные хранилища данных подкинуть и умно вращать глазами при защите
    Про регистрацию пользователей речи небыло, на счет диплома - тоже так подумал
    Посему решил что все просто. Зашел, куки или сессия создалась - уже пользователь. )

  9. #9
    Модератор Аватар для turist_ua
    Реєстрація
    01 жовтень 2006
    Звідки Ви
    Дніпро
    Дописів
    16 105

    Типово

    Цитата Допис від tvn2009 Переглянути допис
    Про регистрацию пользователей речи небыло, на счет диплома - тоже так подумал
    Посему решил что все просто. Зашел, куки или сессия создалась - уже пользователь. )
    липовые дипломы пошли, вот в наше время (с)

  10. #10

    Реєстрація
    10 листопад 2008
    Дописів
    78

    Типово

    Посему решил что все просто. Зашел, куки или сессия создалась - уже пользователь. )
    можно по подробнее - что не так? )
    не, это не диплом. пару лет назад начал програмить помаленьку, вот поставили задачу уже реальную
    Почему нельзя основную таблицу апдейтть, а надо создавать дополнительные?
    кстати про пользователей в БД я тоже не говорил )
    Страничка будет не гипер загруженой, ну макс, до 10 человек что-то неспешно писать в ней будут
    С другой стороны если такая тема тянет на диплом, счтаю что экстерном проучился )))))

  11. #11

    Реєстрація
    08 липень 2009
    Дописів
    1 617

    Типово

    Цитата Допис від nopresent Переглянути допис
    Посему решил что все просто. Зашел, куки или сессия создалась - уже пользователь. )
    можно по подробнее - что не так? )
    не, это не диплом. пару лет назад начал програмить помаленьку, вот поставили задачу уже реальную
    Почему нельзя основную таблицу апдейтть, а надо создавать дополнительные?
    кстати про пользователей в БД я тоже не говорил )
    Страничка будет не гипер загруженой, ну макс, до 10 человек что-то неспешно писать в ней будут
    С другой стороны если такая тема тянет на диплом, счтаю что экстерном проучился )))))
    Не имеете вы представления об организации хранения и доступа к данным. ИМХО рассказывать тут бессмысленно. Читайте литературу!

  12. #12

    Реєстрація
    10 листопад 2008
    Дописів
    78

    Типово

    спасибо за поддержку, разобрался. Косяк мой, к Mysql вопросов нет )
    tvn2009 - поделитесь с нами азами, я думаю не только мне одному будет интересно. А маны читать это понятно. Вот вы высказались против авторизации на сесиях - как можно подменить сесию на серваке, что бы считаться залогиненым юзером?

  13. #13
    Модератор Аватар для turist_ua
    Реєстрація
    01 жовтень 2006
    Звідки Ви
    Дніпро
    Дописів
    16 105

    Типово

    Цитата Допис від nopresent Переглянути допис
    спасибо за поддержку, разобрался. Косяк мой, к Mysql вопросов нет )
    tvn2009 - поделитесь с нами азами, я думаю не только мне одному будет интересно. А маны читать это понятно. Вот вы высказались против авторизации на сесиях - как можно подменить сесию на серваке, что бы считаться залогиненым юзером?
    понятно-то понятно, но много манов лично Вы прочитали перед тем как задавать тут вопросы? Вопросы надо задавать на профильных форумах, в данном случае - по пхп.

  14. #14

    Реєстрація
    08 липень 2009
    Дописів
    1 617

    Типово

    Цитата Допис від nopresent Переглянути допис
    спасибо за поддержку, разобрался. Косяк мой, к Mysql вопросов нет )
    tvn2009 - поделитесь с нами азами, я думаю не только мне одному будет интересно. А маны читать это понятно. Вот вы высказались против авторизации на сесиях - как можно подменить сесию на серваке, что бы считаться залогиненым юзером?
    Все азы есть в интернете, их там просто валом! Копипастить сюда мануалы из сети не буду по понятным причинам.

Bookmarks

Bookmarks

Ваші права у розділі

  • Ви НЕ можете створювати нові теми
  • Ви НЕ можете відповідати у темах
  • Ви НЕ можете прикріплювати вкладення
  • Ви не можете редагувати свої повідомлення
  •  
  Головна | Афіша | Новини | Куди піти | Про місто | Фото | Довідник | Оголошення
Контакти : Угода з користивачем : Політика конфіденційності : Додати інформацію
Главная страница сайта  
copyright © gorod.dp.ua.
Всі права захищені. Використання матеріалів сайту можливо тільки з дозволу власника.
Про проєкт :: Реклама на сайті