Общие > Базы данных
об оптимизации запросов
(1/1)
Forza:
Что в общем случае сильнее влияет на скорость выполнения запросов – индексирование столбца или использование типа CHAR вместо VARCHAR?
Проводил эксперименты на таблице в 2253 строки и 19 столбцов (общий размер 172408 байт).
Проверял время выполнения запроса SELECT COUNT(*) FROM tableName WHERE eng_name LIKE ‘a%’;
Поле eng_name было изначально типа VARCHAR(75).
Оказалось, что для того чтобы снизить время выполнения до 0,00 секунд, нужно eng_name сделать типа CHAR(75), а также обязательно его проиндексировать.
Во всех остальных трёх случаях (VARCHAR(75) и индекс, CHAR(75) и нет индекса, VARCHAR(75) и нет индекса) время выполнения одинаково – 0,05 секунд.
Интересно, а как на вашей практике дело обстояло с более крупными, чем эта, таблицами? Увеличивалась ли скорость выполнения запроса при индексации столбца типа VARCHAR, или нет?
Не очень хочется приводить в данном случае eng_name к типу CHAR, т.к. с одной стороны eng_name может содержать достаточно длинную строку (до 75 символов), а другой стороны – ничего не содержать (сейчас таких строк 714 из всего 2253).
p.s. Этот вопрос задан не из-за того, чтобы оптимизировать работу с описанной таблицей (это и так понятно, как сделать), а чтобы поглубже разобраться в оптимизации запросов.
Меняздесьдавнонет:
--- Цитировать ---Forza:
Что в общем случае сильнее влияет на скорость выполнения запросов
--- Конец цитаты ---
индекс.
--- Цитировать ---общий размер 172408 байт
--- Конец цитаты ---
на такой смехотворной таблице накладные расходы сводят все тестирование на нет
--- Цитировать ---Forza:
ничего не содержать
--- Конец цитаты ---
экономия ста килобайт - это да, конечно - тема, о которой стоит говорить.
Forza:
--- Цитировать ---RomikChef:
экономия ста килобайт - это да, конечно - тема, о которой стоит говорить
--- Конец цитаты ---
--- Цитировать ---Forza:
p.s. Этот вопрос задан не из-за того, чтобы оптимизировать работу с описанной таблицей (это и так понятно, как сделать), а чтобы поглубже разобраться в оптимизации запросов.
--- Конец цитаты ---
Навигация
Перейти к полной версии