The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"если нужно сохранить число 12 знаков в MySQL"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (MySQL)
Изначальное сообщение [ Отслеживать ]

"если нужно сохранить число 12 знаков в MySQL"  +/
Сообщение от greenwar (ok) on 27-Янв-15, 21:12 
в INT влезает 10, и то там макс 4294967295, т.е. 5000000000 уже не влезет
INT занимает 4 байта, а следующий за ним BIGINT - 8
в него влезает 20 знаков
но это перебор
мне бы на 5 байт чё-то придумать )
можно разбить число на INT и SMALLINT, тогда займёт 6 байт, но 2 колонки
DECIMAL не годится, там по 1 байту на цифру (
какие ещё варианты?
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "если нужно сохранить число 12 знаков в MySQL"  +/
Сообщение от Уга on 28-Янв-15, 07:03 
> в INT влезает 10, и то там макс 4294967295, т.е. 5000000000 уже
> не влезет
> INT занимает 4 байта, а следующий за ним BIGINT - 8
> в него влезает 20 знаков
> но это перебор
> мне бы на 5 байт чё-то придумать )
> можно разбить число на INT и SMALLINT, тогда займёт 6 байт, но
> 2 колонки
> DECIMAL не годится, там по 1 байту на цифру (
> какие ещё варианты?

в тест сохраняй

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "если нужно сохранить число 12 знаков в MySQL"  +1 +/
Сообщение от Andrey Mitrofanov on 28-Янв-15, 10:01 
> INT занимает 4 байта, а следующий за ним BIGINT - 8
> в него влезает 20 знаков
> но это перебор
> мне бы на 5 байт чё-то придумать )

Мал ещё экономить с 8 до 5 байт. Бери BIGINT и не выуживайся.

//Надеюсь, старшие товарищи расскажут, сколько _сотен_ байт теряется на каждую запись.

> DECIMAL не годится, там по 1 байту на цифру (
> какие ещё варианты?

http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview...

""DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]

A packed “exact” fixed-point number.

http://www.mysql.ru/docs/mysql-man-5.0-en/data-types.html#st...

""As of MySQL 5.0.3, values for DECIMAL columns are represented using a binary format that packs nine decimal (base 10) digits into four bytes.

""Before MySQL 5.0.3, DECIMAL columns are represented as strings and storage requirements are: M+2 bytes if D > 0, M+1 bytes if D = 0, D+2 if M < D

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "если нужно сохранить число 12 знаков в MySQL"  –1 +/
Сообщение от greenwar (ok) on 28-Янв-15, 13:29 
> Мал ещё экономить с 8 до 5 байт. Бери BIGINT и не выуживайся.

спасибо, без сопливых разберёмся.

> ""As of MySQL 5.0.3, values for DECIMAL columns are represented using a
> binary format that packs nine decimal (base 10) digits into four
> bytes.
> ""Before MySQL 5.0.3, DECIMAL columns are represented as strings and storage requirements
> are: M+2 bytes if D > 0, M+1 bytes if D
> = 0, D+2 if M < D

какой неожиданный поворот. вот и решение, благодарю )

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "если нужно сохранить число 12 знаков в MySQL"  +/
Сообщение от PavelR (??) on 29-Янв-15, 09:02 
>> Мал ещё экономить с 8 до 5 байт. Бери BIGINT и не выуживайся.
> спасибо, без сопливых разберёмся.
>> ""As of MySQL 5.0.3, values for DECIMAL columns are represented using a
>> binary format that packs nine decimal (base 10) digits into four
>> bytes.
>> ""Before MySQL 5.0.3, DECIMAL columns are represented as strings and storage requirements
>> are: M+2 bytes if D > 0, M+1 bytes if D
>> = 0, D+2 if M < D
> какой неожиданный поворот. вот и решение, благодарю )

-

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру