Вопрос про varchar

12 3
D
На сайте с 28.06.2008
Offline
1101
1488

У меня таблицы в ФИО, тип поля varchar 255, я проавильно понимаю что значение 255 избыточно и при сильной нагрузке может увеличивать время запроса к этой базе?

лучше уменьшить до 64 ?

AS
На сайте с 12.12.2017
Offline
6
#1

Вот есть статья сравнения VARCHAR(8000) и VARCHAR(MAX)

http://rusanu.com/2010/03/22/performance-comparison-of-varcharmax-vs-varcharn/

Чуть влияет...

S
На сайте с 23.05.2004
Offline
316
#2

Не будет никакой разницы с 255 или 64. Теоретически намерять то наверное можно, но на практике нет.

Это просто подпись.
bridal777
На сайте с 06.11.2008
Offline
244
#3

Разница очень несущественна. Я бы ничего не менял

Качественный push трафик по самым лучшим ценам от прямых источников! Успей купить POP трафик от 0.05$ CPM до конца февраля!( https://realpush.net )
Оптимизайка
На сайте с 11.03.2012
Offline
396
#4
AutoSearches:
Вот есть статья сравнения VARCHAR(8000) и VARCHAR(MAX)

varchar(max) это вроде микрософт sql server. mysql такое не может, там максимум varchar(21844) при CHARACTER SET utf8. Либо использовать text.

ТС, переходите на postgresql, там varchar без обязательного лимита :)

---------- Добавлено 15.12.2017 в 21:36 ----------

Stek:
Не будет никакой разницы с 255 или 64.

Разница будет по потреблению памяти в случае, если тип таблицы - временная (создается при сортировках) или memory.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
iworkshop
На сайте с 22.12.2008
Offline
195
#5

Очень расплывчатое понятие "сильная нагрузка". У вас в таблице БД что, сотни тысяч записей чтобы SELECT\Update запросы тормозили?

Если нет - то вы разницу даже с синтетическими тестами не особо заметите.

Разница конечно есть, но она несущественна. Лучше оптимизируйте код или запросы.

XMLRiver - прямая выдача Google и Яндекс через API
S
На сайте с 23.05.2004
Offline
316
#6
Оптимизайка:
Разница будет по потреблению памяти в случае, если тип таблицы - временная (создается при сортировках) или memory.

Ну это же не char, не будет такого большого оверхеда. Вообще проблемы обычно из за индексов, кривых запросов и т.п., но из за длинны варчар поля - еще не слышал :)

D
На сайте с 28.06.2008
Offline
1101
#7

Есть таблица Иннод с ФИО примерно 400.000 записей и там 8 полей varchar 255. Некоторые запросы к этой таблице чуток подтормаживают.

Запросы к базе в будни примерно 400 в сек.

А ради уменьшения веса таблицы стоит уменьшить 255 до 64 ?

Оптимизайка
На сайте с 11.03.2012
Offline
396
#8
Stek:
Ну это же не char, не будет такого большого оверхеда.

Во временных таблицах и таблицах в памяти mysql выделяет место с фиксированными размером колонки. Т.е. разница по потреблению памяти между таблицей с varchar(255) и varchar(64) будет четырехкратной.

---------- Добавлено 15.12.2017 в 22:23 ----------

Dram:
А ради уменьшения веса таблицы стоит уменьшить 255 до 64 ?

Зависит от версии mysql и настроек. Т.к. innodb (когда-то) использовал ограниченный размер индекса (755 байт кажется или около того), то с индексацией полей varchar(255) в utf8 могли быть проблемы. На самом деле быстрее проверить, чем спрашивать.

S
На сайте с 23.05.2004
Offline
316
#9

Базу в дамп и проверить на практике. Тормозить что угодно может, причин миллион. Вес таблицы на выборку не особо влияет. Тем более что варчар - это динамическая длинна, а не статическая. Ну выиграется пара байт за запись, не бог весь какой гешефт.

edogs software
На сайте с 15.12.2005
Offline
775
#10
Dram:
У меня таблицы в ФИО, тип поля varchar 255, я проавильно понимаю что значение 255 избыточно и при сильной нагрузке может увеличивать время запроса к этой базе?

лучше уменьшить до 64 ?

Для varchar разницы нет (если длиннее 4 символов).

Разница будет только для char, в меру другого (чем у варчар) способа его хранения

---------- Добавлено 15.12.2017 в 22:28 ----------

Оптимизайка:
ТС, переходите на postgresql, там varchar без обязательного лимита :)
varchar до 64к в новых версиях, а еще есть longtext. mysql еще всех переживет:)
Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий