The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
если нужно сохранить число 12 знаков в MySQL, !*! greenwar, 27-Янв-15, 21:12  [смотреть все]
в INT влезает 10, и то там макс 4294967295, т.е. 5000000000 уже не влезет
INT занимает 4 байта, а следующий за ним BIGINT - 8
в него влезает 20 знаков
но это перебор
мне бы на 5 байт чё-то придумать )
можно разбить число на INT и SMALLINT, тогда займёт 6 байт, но 2 колонки
DECIMAL не годится, там по 1 байту на цифру (
какие ещё варианты?
  • если нужно сохранить число 12 знаков в MySQL, !*! Уга, 07:03 , 28-Янв-15 (1)
    > в INT влезает 10, и то там макс 4294967295, т.е. 5000000000 уже
    > не влезет
    > INT занимает 4 байта, а следующий за ним BIGINT - 8
    > в него влезает 20 знаков
    > но это перебор
    > мне бы на 5 байт чё-то придумать )
    > можно разбить число на INT и SMALLINT, тогда займёт 6 байт, но
    > 2 колонки
    > DECIMAL не годится, там по 1 байту на цифру (
    > какие ещё варианты?

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

  • если нужно сохранить число 12 знаков в MySQL, !*! Andrey Mitrofanov, 10:01 , 28-Янв-15 (2) +1
    > 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

    • если нужно сохранить число 12 знаков в MySQL, !*! greenwar, 13:29 , 28-Янв-15 (3) –1
      > Мал ещё экономить с 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

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

      • если нужно сохранить число 12 знаков в MySQL, !*! PavelR, 09:02 , 29-Янв-15 (4)
        >> Мал ещё экономить с 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
        > какой неожиданный поворот. вот и решение, благодарю )

        -




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

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