[sql] Вопросы по БД

Discussion in 'PHP' started by FraiDex, 25 Feb 2008.

Thread Status:
Not open for further replies.
  1. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    140
    Reputations:
    4
    вопрос по mysql

    вообщем есть данные которые надо хранить в бд. они схожи по большинству полей. но все же 1-2 параметрами отличаются. как будет быстрее работать. елси их в одну таблицу вставить и те которые разные по дефолту делать null. или все же по разным таблицам распихивать ?
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    barnaki "в среднем по больнице" MySql без разницы как вы будете там хранить данные. Рекомендую прочитать что-нибудь по проектированию баз данных и про нормальные формы.
     
    _________________________
  3. C-r-A-c-K

    C-r-A-c-K New Member

    Joined:
    28 May 2011
    Messages:
    18
    Likes Received:
    2
    Reputations:
    1
    знающие люди.
    подскажите пожалуйста, как одним запросом выполнить условие.
    2 столбца - counter,hits


    отправляем запрос с указанием страны

    и если эта страна уже есть, то просто +1 к строке этой страны (т.е. +1 хит)
    если страны нету, то добавляем страну и +1
     
  4. netc0der

    netc0der New Member

    Joined:
    24 Dec 2009
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Как в MySQL разбить большую таблицу (100 миллионов записей) на дохера частей? Чтобы повысить скорость
     
  5. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    netc0der скорость чего?
     
    _________________________
  6. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Привет! Есть Таблица mysql вида id/parent/level/root_parent

    как проверить если скажем есть id = 5 если он находится в списке идов(10,5,9,15).. или его родители находятся в этом списке .. без цикла... зарание спасибо!
     
  7. Wave

    Wave Member

    Joined:
    15 Aug 2010
    Messages:
    89
    Likes Received:
    11
    Reputations:
    0
    на вкус и цвет....
    какую базу выбрать... решать по вкусу... скорость зависит от того как пользоваться
     
  8. SergioBlog

    SergioBlog New Member

    Joined:
    21 Jan 2011
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    Есть бд с юзерами, там куча стран - можно ли каким-то запросом вывести список стран и какое кол-во юзеров по ним?

    поля в бд name;email;password;country
     
  9. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    пробуйте так
    Code:
    SELECT COUNT(*), country
    FROM sometable
    GROUP BY country
    
     
  10. SergioBlog

    SergioBlog New Member

    Joined:
    21 Jan 2011
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    Спс! Ещё один вопрос появился: как сделать апдейт поля в котором есть хтмл код(дописать туда свой)?
    В самой таблице не одно поле, а несколько.
     
  11. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    http://www.mysql.ru/docs/maryan/#concat

    Code:
    update `user` set `firstname` = concat_ws(' ', `firstname`, 'Михалыч') where `firstname`='Иван'
     
  12. SergioBlog

    SergioBlog New Member

    Joined:
    21 Jan 2011
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    Подскажите плз запрос с помощью которого можно глянуть какое количество каких мейл сервисов присутствует в бд. Т.е. к примеру сколько мейлов со словом yahoo/gmail.
     
  13. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    SergioBlog
    Code:
    SELECT count(*) FROM `table`WHERE `field` LIKE '%yahoo%' OR `field` LIKE '%gmail%'
     
    _________________________
  14. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    Мужики, проблема. При update мускуль увеличивает значение поля на 1, то есть в итоге получается что на 2.
    PHP:
    ...
    mysql_query("SET NAMES 'cp1251'");
    ...
    $id $row['id'];
    $time time();
    $views $row['views'] + 1;
    mysql_query("UPDATE table SET view='$time', views='$views' WHERE id='$id'");
    ...
    Таблица: MyISAM cp1251_general_ci. Структура столбца: int(12) попробовал сменить на text cp1251_general_ci, результата не дало. В переменной $views содержится правильное увеличенное на один значение, почему ж при обновлении пишется другое? Ранее столкнулся с такой же проблемой, только дело касалось неправильного обновления md5 хэша пароля, тогда тупо забил и удалил код.
     
    #1474 Axel G, 14 Aug 2011
    Last edited: 14 Aug 2011
  15. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Axel G
    Code:
    UPDATE `table` SET `view`='$time', `views`=`views`+1 WHERE `id` = '$id'
     
    _________________________
  16. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    Gifts, не помогло. Что еще может изменять значение на +1 при update столбца?
     
  17. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Axel G повторный вызов скрипта/функции
     
    _________________________
  18. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    Gifts, перепроверил код, запрос больше нигде не встречается, апдейтит именно неправильно, и при чем не везде, некоторые апдейты работают как положено, а со счетчиком просмотров не могу понять что случилось.
     
  19. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    Что-то глобальное произошло, еще один счетчик дернуло посмотреть, та же самая байда = (
     
  20. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    Мужики, помогите наладить, мож у мускуля что где слетело, что отвечает за UPDATE?
     
Thread Status:
Not open for further replies.