VARCHAR (20000) допустим в MySQL?

Результаты проверки производительности. Пересмотренный.

import itertools
def itertools_flatten( aList ):
    return list( itertools.chain(*aList) )

from operator import add
def reduce_flatten1( aList ):
    return reduce(add, map(lambda x: list(x), [mi for mi in aList]))

def reduce_flatten2( aList ):
    return reduce(list.__add__, map(list, aList))

def comprehension_flatten( aList ):
    return list(y for x in aList for y in x)

я сгладился, 2-уровневый список 30 объектов 1000 раз

itertools_flatten     0.00554
comprehension_flatten 0.00815
reduce_flatten2       0.01103
reduce_flatten1       0.01404

Уменьшают, всегда плохой выбор.

60
задан Community 23 May 2017 в 12:17
поделиться

5 ответов

Обратите внимание на версии MySQL.

http://dev.mysql.com/doc/refman/5.0/en/char.html

Значения в столбцах VARCHAR имеют переменную длину. струны. Длина может быть указана как значение от 0 до 255 до MySQL 5.0.3 и от 0 до 65 535 в 5.0.3 и более поздних версиях. Эффективная максимальная длина VARCHAR в MySQL 5.0.3 и более поздних версиях зависит от максимального размера строки (65 535 байт, который распределяется между всеми столбцами) и используемого набора символов.

Какая у меня версия MySQL?

Выполните следующий запрос ...

select version() as myVersion
72
ответ дан 24 November 2019 в 17:49
поделиться

Это действительно с версии 5.0.3, когда они изменили максимальную длину с 255 на 65535.

CHAR всегда было 255 макс.

http: // dev.mysql.com/doc/refman/5.0/en/char.html

12
ответ дан 24 November 2019 в 17:49
поделиться

Если вы ожидаете слишком больших входных данных, лучше вместо этого использовать ТЕКСТ, СРЕДНИЙ ТЕКСТ или ДЛИННЫЙ ТЕКСТ .

8
ответ дан 24 November 2019 в 17:49
поделиться

В руководстве MySQL указано

Значения в столбцах VARCHAR являются строками переменной длины. Длина может быть указана как значение от 0 до 255 до MySQL 5.0.3 и от 0 до 65 535 в 5.0.3 и более поздних версиях.

Так что это зависит от версии, которую вы используете.

1
ответ дан 24 November 2019 в 17:49
поделиться

Хотя индекс не может быть построен на varchar (2000)

3
ответ дан 24 November 2019 в 17:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: