Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как хранить статусы? [3]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): « 1 2 [3] 4 »   

> Без описания
Tsigyr
Отправлено: 08 Мая, 2013 - 19:43:48
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




avtor.fox, тогда наверное и выберу INT. Не знаю почему, но он мне больше нравиться чем enum Улыбка


А TINYINT может содержать 6 значные числа или нет?

(Отредактировано автором: 08 Мая, 2013 - 20:51:19)

 
 Top
DelphinPRO
Отправлено: 08 Мая, 2013 - 21:30:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




KingStar пишет:
ну во-первых не 0-255, а 0-9

неверно. Число, в скобках подсказывает мускулу, сколько места нужно отвести для отображения значения на экране (актуально для консольных клиентов). И абсолютно не влияет на то как хранятся данные. Если это tinyint, то сколько вы не укажите в скобках - занимать оно будет ровно 1 байт, если тип int - то 4 четыре байта.

caballero пишет:
приложению пофиг что читать а занести строки в enum - это значит создать еще и проблемы с локализацией
а причем здесь проблемы с локализацией, если программисты везде используют инглиш? (то бишь латинницу)
avtor.fox пишет:
Я бы не мелочился, тем более что int писать быстрее.
ну это вообще детский аргумент, когда больше написть нечего
avtor.fox пишет:
он себя узнает
я его кажется тоже узнал Улыбка

Tsigyr пишет:
А TINYINT может содержать 6 значные числа или нет?
TINYINT - это 1 байт. 1 байт это 8 бит. а значит максимальное число - 255 (256)

(Отредактировано автором: 08 Мая, 2013 - 21:39:21)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Tsigyr
Отправлено: 08 Мая, 2013 - 21:35:23
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Тогда решено, для статусов буду использовать TINYINT, а для таких полей как колличество просмотров (где может быть много цыфр) INT
 
 Top
caballero
Отправлено: 08 Мая, 2013 - 21:38:31
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
а причем здесь проблемы с локализацией, если программисты везде используют инглиш? (то бишь латинницу)

а при чем тогда как оно будет читаться?
если строка на экран будет все равно преобразовыватся и выводится в понятном юзеру варианте то на фига enum

смысл есть создавать enum для например yes no чтобы его так и выводить в браузер


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
DelphinPRO
Отправлено: 08 Мая, 2013 - 21:40:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




caballero пишет:
смысл есть создавать enum для например yes no чтобы его так и выводить в браузер

смысл в том чтобы в запросах писать понятные слова, а не безликие числа. Для удобства программиста. ИМХО.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
caballero
Отправлено: 08 Мая, 2013 - 21:43:55
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




удобство сомнительное потому что в большинстве случаев запрос будет формироватся строкой в PHP а там можно и константы подставлять.


имхо enum и set были актуальны лет 10-15 назад

(Отредактировано автором: 08 Мая, 2013 - 21:44:17)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
DelphinPRO
Отправлено: 08 Мая, 2013 - 21:48:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




ну в общем, да, константы тоже хорошая альтернатива в данном случае.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
avtor.fox
Отправлено: 09 Мая, 2013 - 11:36:08
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




DelphinPRO пишет:
ну это вообще детский аргумент, когда больше написть нечего

Ну, это не моё изречение)
 
 Top
Tsigyr
Отправлено: 09 Мая, 2013 - 16:18:37
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Последний вопрос, стоит ли указывать тип поля tinyint в mysql для хранения ключей?
или лучше int? Что из них быстрее?
Тоесть если
tinyint = 1 - Администраторы;
tinyint = 2 - модератор;
tinyint = 3 - пользователь;

И стоит ли в наше время экономить на типе памяти полей mysql?
 
 Top
caballero
Отправлено: 09 Мая, 2013 - 16:25:05
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




У тебя сайт с милиардом посетителей?
что ты носишся с этим tinyint
нету там никакой разницы в быстродействии - процессор не обрабатывает отдельные байты.

(Отредактировано автором: 09 Мая, 2013 - 16:25:54)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
DelphinPRO
Отправлено: 09 Мая, 2013 - 16:30:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Tsigyr пишет:
И стоит ли в наше время экономить на типе памяти полей mysql?
Экономить всегда надо. Вам на шаред-хостинге гигабайт опреативки дадут? нет. максимум 128 мег.

хотя конечно при выборе между int и tinyint это значения не имеет.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Tsigyr
Отправлено: 09 Мая, 2013 - 16:34:58
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Тоесть что INT, что tinyint одинаково памяти займут?
 
 Top
esterio
Отправлено: 09 Мая, 2013 - 16:44:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




третья страница топика. неужели так сложно взглянуть в доку
http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]equirements[dot]html
Цитата:
TINYINT 1 byte
SMALLINT 2 bytes
MEDIUMINT 3 bytes
INT, INTEGER 4 bytes
BIGINT 8 bytes

Научитесь наконец-то гуглить.
И еще также согласен с више сказаным
caballero пишет:
У тебя сайт с милиардом посетителей?
что ты носишся с этим tinyint
нету там никакой разницы в быстродействии - процессор не обрабатывает отдельные байты.
 
 Top
Tsigyr
Отправлено: 09 Мая, 2013 - 16:50:38
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Так почему DelphinPRO пишет:

хотя конечно при выборе между int и tinyint это значения не имеет.

Если в мануалах tinyint занимает 1 байт, а int 4?

(Отредактировано автором: 09 Мая, 2013 - 16:51:34)

 
 Top
DelphinPRO
Отправлено: 09 Мая, 2013 - 16:57:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Tsigyr я не сказал, что эти типы занимают одинаковый объем памяти. Я сказал - не имеет значения.
ну а на каких количесвах записей разница будет существенной - можете и сами посчитать.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (4): « 1 2 [3] 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB