Автор Тема: об оптимизации запросов  (Прочитано 2467 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
об оптимизации запросов
« : 08 Августа 2004, 16:28:38 »
Что в общем случае сильнее влияет на скорость выполнения запросов – индексирование столбца или использование типа 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. Этот вопрос задан не из-за того, чтобы оптимизировать работу с описанной таблицей (это и так понятно, как сделать), а чтобы поглубже разобраться в оптимизации запросов.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
об оптимизации запросов
« Ответ #1 : 08 Августа 2004, 21:02:46 »
Цитировать
Forza:
Что в общем случае сильнее влияет на скорость выполнения запросов

индекс.
Цитировать
общий размер 172408 байт

на такой смехотворной таблице накладные расходы сводят все тестирование на нет
Цитировать
Forza:
ничего не содержать

экономия ста килобайт - это да, конечно - тема, о которой стоит говорить.

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
об оптимизации запросов
« Ответ #2 : 08 Августа 2004, 21:05:26 »
Цитировать
RomikChef:
экономия ста килобайт - это да, конечно - тема, о которой стоит говорить

Цитировать
Forza:
p.s. Этот вопрос задан не из-за того, чтобы оптимизировать работу с описанной таблицей (это и так понятно, как сделать), а чтобы поглубже разобраться в оптимизации запросов.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28