Типы данных и скорость запросов - PullRequest
0 голосов
/ 01 марта 2012

Влияет ли тип данных на скорость запросов.Насколько важно использовать правильные типы, такие как smallint, insted of int или даже tinyint, в таблицах с небольшим количеством строк.

Будет ли запрос

select * from table

быстрее для tinyint, чем для int ??

Ответы [ 3 ]

2 голосов
/ 01 марта 2012

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

0 голосов
/ 01 марта 2012

Насколько мне известно, все результаты запроса в PostgreSQL отправляются с сервера клиенту в форме text (например, если у вас есть столбец INTEGER, значение изэтот столбец будет добавлен в текст перед его отправкой вам).Существует возможность отправки двоичной формы, но она официально не рекомендуется и не так хорошо документирована (в PostgreSQL API).Я почти уверен, что большинство клиентов, построенных на libpq / so / dll (и друзья), используют текстовую форму.

Сказав, что я думаю, что это действительно имеет значение только на стороне сервера (для PostgreSQL), для хранения и эффективности запросов.К сожалению, я не являюсь разработчиком PostgreSQL, поэтому не могу дать вам больше информации о серверной части.Я довольно много программировал на стороне клиента (используя PostgreSQL и MySQL API).

MySQL API отправляет все в двоичном формате, так что на стороне клиента это может иметь большее значение.

Икак всегда .... размер имеет значение:)

0 голосов
/ 01 марта 2012

Вы не можете различить два типа данных: TINYINT и INT со скоростью и не оптимизировать, потому что они все числа. Они отличаются только по своим SIZE с.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...