Просмотр полной версии : lamers
Zadoxlik
25.10.2006, 22:58
Здравствуйте, Хакеры! Подскажите пожалуйста ламеру!
Что означает в MySQL запись характеристики поля ввиде
int(chislo) ?
А конкретно интересует то, что помещается в скобках! Спасибо!
ТИП(chislo) непременимо для типа int (то есть безполезно). на int выделяется всегда одно постоянное кол-во байт - 4. и изменение chislo ни на что не повлияет. другое дело varchar etc
Zadoxlik
25.10.2006, 23:01
Методом логического анализа мы с господином, коего называть не буду, пришли к выводу что запись не имеет смысла, т.к. память выделяется под поле одна и та же. Однако количественного анализа не проводилось, т.к. я ухожу спать. Завтра почитаю компетентнейшие овтеты, особливо будем ждать Егора и Тринукса.
Спкойной всем ночи
кто же это???
вот http://www.mysql.ru/docs/man/Storage_requirements.html int(число) вообще не определено. хотя бы потому что такие числа в формате "числа" хранить просто невозможно. другое дело что мускуль для арифметических операций использует длинную арифметику ;)
CREATE TABLE shop (
article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
dealer CHAR(20) DEFAULT '' NOT NULL,
price DOUBLE(16,2) DEFAULT '0.00' NOT NULL,
PRIMARY KEY(article, dealer));
данные для примера будут такими:
mysql> SELECT * FROM shop;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
| 0001 | A | 3.45 |
| 0001 | B | 3.99 |
| 0002 | A | 10.99 |
| 0003 | B | 1.45 |
| 0003 | C | 1.69 |
| 0003 | D | 1.25 |
| 0004 | D | 19.95 |
+---------+--------+-------+
максимальное значание равно 4 а минимальное кажись 2
int(chislo) - это определить значение в столбце
кажись так... если что не так будет самому интересно узнать правильный ответ =)
2PSalm69 нет, это не так :)
=)))) ну даете =))) может памяти и выделяется одинаковое количество, но вот индекс по полю строится совсем по другому принципу. Если поле индексируется (любым индексом), то намного оптимальнее использовать точное количество нулей. Чем меньше индекс, тем быстрее поиск по нему, это очевидно )
Zadoxlik
26.10.2006, 07:58
Пордон, а что значит одинаковое количество нулей? У меня в независимости от значния chisl'а в ячейку таблицы можно разместить число из одного и тогоже диапазона
Если учитывать знаковый бит, то этот диапазон соствляет [-0x7FFFFFFF; 0x7FFFFFFF] =D
http://www.sql.ru/docs/mysql/rus%5Fref/sql.shtml#Create
Это как оно должно будет выглядеть, при выводе результатов запроса.
Zadoxlik
26.10.2006, 17:37
http://www.sql.ru/docs/mysql/rus%5Fref/sql.shtml#Create
Это как оно должно будет выглядеть, при выводе результатов запроса.
Т.е. это имеет смысл только при разрядности числа в 10ой системе счисления, меньшей чем та, что указана в скобках с пометкой ZEROFILL на поле? =()
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot