За последние 24 часа нас посетили 15629 программистов и 1558 роботов. Сейчас ищет 831 программист ...

Какой тип данных выбрать

Тема в разделе "PHP и базы данных", создана пользователем VLK, 29 дек 2013.

  1. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Подскажите пожалуйста, вот к примеру, есть доска объявления, у каждого объявления есть заголовок, под этот заголовок в БД соответственно отводится столбец, допустим заголовок длинной должен быть не больше 200 символов, вопрос тип данных выбрать:

    char(200) или varchar(200)

    Заголовки бывают разные но как правило они на много меньше 200 символов.

    Как бы вы поступили? так наверное будет более правильно звучать вопрос.

    Так же пользуясь случаем задам еще один вопрос, так же в доске объявлений присутствует "ссылка на сайт", есть ли какие то ограничения на длину ссылки, или она может быть не ограниченной длинны? речь идет в том числе на ссылки НЕ на главную страницу, а на подстраницы ( например - http://auto.mail.ru/article.html?id=44904 )
     
  2. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    varchar(200), для ссылок TEXT
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    varchar 1024 на то и на то
    чего жадничать, учитывая что UTF-8 мультибайтная кодировка.
     
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    А можно уточнение, если я использую UTF-8 и ставлю varchar допустим 10, то я могу написать 10 символов т.е. допустим - "ФЫВАПРОЛДЖ" или это будет меньше символов?
     
  5. semnt

    semnt Новичок

    С нами с:
    25 дек 2013
    Сообщения:
    93
    Симпатии:
    0
    Гуглим "Максимальная длина URL" - получаем ответ: Это зависит от браузера и web-сервера.
    http://kolyaseg.livejournal.com/763486.html
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    меньше. сколько - хз. UTF-8 ест от 1 до 4 байт на символ вроде.
     
  7. semnt

    semnt Новичок

    С нами с:
    25 дек 2013
    Сообщения:
    93
    Симпатии:
    0
    Вы действительно сможете "написать" 10 символов и не важно каких именно.
    В тоже время размер в байтах этой строки может отличаться в зависимости от того какие это символы.
    varchar(10) - Вы ставите ограничение не на размер в байтах, а на длину в символах.

    Добавлено спустя 3 минуты 15 секунд:
    Только сопоставление в таблице должно быть utf8_general_ci
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Точно?
     
  9. retvizan

    retvizan Активный пользователь

    С нами с:
    27 дек 2013
    Сообщения:
    68
    Симпатии:
    22
    Зависит от хранилища и типов других столбцов. Посмотрите тут

    Добавлено спустя 6 минут 23 секунды:
    Избыточный varchar может иметь недостатки.
    http://sqlinfo.ru/forum/viewtopic.php?id=2341

    Добавлено спустя 1 минуту 43 секунды:
    А при чем здесь сопоставление?
     
  10. semnt

    semnt Новичок

    С нами с:
    25 дек 2013
    Сообщения:
    93
    Симпатии:
    0
    Просто уточнил, что если вы собираетесь хранить UTF-8 в таблице, то обращайте внимание на сопоставление.

    Добавлено спустя 1 минуту 36 секунд:
    Проверяйте)