Идеологические вопросы при выборе типов и размеров полей

Статус
В этой теме нельзя размещать новые ответы.

dak

Guest
Идеологические вопросы при выборе типов и размеров полей

Я понимаю, что вопрос в некоторой степени абстрактный, но прошу не пинять и отнестись с пониманием. Хотелось бы послушать мнения других людей и принципы, которыми они руководствуюстся при выборе типов полей и размеров полей при создании схемы.

Например когда выбирается char(1) или bool?
для заголовка статьи, лучше выбрать vchar(255) или text?
какая сейчас реальная разница для MySQL 3 и 4 между char и vchar?
Как вы решаете какой длинны делать это поле:
Т.е. например сколько отводить под имя и фамилию человека, или под e-mail. Имеет ли смысл для производительности/эффективности хранить давать длинну кратной степени двойки, или на единичку меньше. Или вы выбираете размер поля кратный десяти, для красоты и удобства?

Есть какие-то общие рекомендации по этому поводу или полезные интересные тексты на русском/английском.
 

Апельсин

Оранжевое создание
> Например когда выбирается char(1) или bool?
нет такого типа bool

> для заголовка статьи, лучше выбрать vchar(255) или text?

ну если тебе для заголовка хватит varchar(255), то его, нет - text
 

dak

Guest
нет такого типа bool
Придрался, да? Ну, крут!

ну если тебе для заголовка хватит varchar(255), то его, нет - text
А то я не понимаю какая разница между varchar(255) и text. Я же спрашиваю, как решить для себя, какой вариант выбрать, когда не уверен, что хватит 255... но и не уверен, что нужно text...
 

dak

Guest
http://www.mysql.com/doc/ru/CHAR.html
Спасибо за ссылочку. Ну это я как бы и раньше понимал. Жаль, что там нет вопроса по производительности. Скажем так, какие затраты на использование varchar взамен char, если сейчас их уже нет, то в чем смысла char, кроме как наследия прошлого...
 

tony2001

TeaM PHPClub
>Придрался, да? Ну, крут!
/me плакает... в хумор, все в хумор...

>Я же спрашиваю, как решить для себя, какой вариант выбрать, когда не
> уверен, что хватит 255... но и не уверен, что нужно text...
в таких случаях я обычно добавляю к постингу подпись.
 

Demiurg

Guest
Встречный вопрос: как решить, что покупать машину или велосипед?
 

Апельсин

Оранжевое создание
Что значит придрался? загляни сначала в документацию и посмотри какие типа MySQL поддерживает, а потом задавай вопросы.

> как решить для себя, какой вариант выбрать, когда не уверен, что хватит 255... но и не уверен, что нужно text..

Базу проектируешь ты, а не я. И тебе исходя из задачи и решать что использовать. Не уверен что хватит - бери выбирай text, если точно знаешь что превышать не будет определенного размеры - выбирай наиболее подходящий для этого тип данных.
 

dak

Guest
Ладно, переформулирую! :)
tony2001, Demiurg. Вы писали в своей жизни хоть одну "CMS". Наверняка да! :) У вас там были статьи/новости? Наверняка да. Какими типами и размерами в ней были заголовки в SQL схеме? Почему вы выбрали именно такие типы, а не другие?

Вопрос ведь не только в том, что надо сейчас, а и в том, что будет гибче удобнее на будущее...
Знаешь, если между машиной и велосипедом, будет разница в 100 рублей, и машина будет позволяет все что можно с велосипедом + еще что-то, то я возьму машину, переплатив немного, но имея более гибкую вещь!

Еще вопрос, переформулированный: кто-нибудь знает разницу в объеме хранимых данных и скорости работы между varchar и text? Хотя бы примерную...

Кстати, у меня были и более конкретные вопросы про длинну полей! По ним у вас нет собственного мнения? Или к ним не интересно прикалываться? :)
 

dak

Guest
Что значит придрался? загляни сначала в документацию и посмотри какие типа MySQL поддерживает, а потом задавай вопросы.
Но ведь ты же меня понял, что я имею ввиду? Ну написал по инерции, я же не работающий код писал... Буду делать схему, если названия типов не помню, гляну в man-е. А так можно было IMHO просто просто поправить. Я понимаю что работа модератора нервная, сам этим делом в одном форуме уже 3 года почти как занимаюсь... но ты разницу между ответами:
1) нет такого типа bool
и
2) ты ошибся, правильное название типа boolean
понимаешь? Тебе писать на 20 символов больше, а человеку приятнее читать чем 1-е...
 

Апельсин

Оранжевое создание
повторяю еще раз для тех, кто плохо умеет читать нет такого типа в MySQL.
и свои советы по поводу того, как надоотвечать - оставь при себе, здесь не тех поддержка и тебе никто не хамил и вместо того, что бы разводить тут демагогию о культуре общения,
загляни сначала в документацию и посмотри какие типа MySQL поддерживает, а потом задавай вопросы.. Это еще раз для тех, кто не умеет читать.
 

tony2001

TeaM PHPClub
1) нет такого типа bool
и
2) ты ошибся, правильное название типа boolean
понимаешь? Тебе писать на 20 символов больше, а человеку приятнее читать чем 1-е...
1) если ты еще не понял, то я тебе сообщаю, что ты с девушкой разговариваешь.
2) если тебе лень посмотреть в мане что ни boolean, ни bool нет _вообще_, то о каких вопросах про производительность идет речь? в ман.

топик закрывается, научись сначала разговаривать как нормальный человек, а не как человек, которому все должны.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху