Как ускорить выборку?

Статус
В этой теме нельзя размещать новые ответы.

Tima111

Читатель
Заблокирован
Регистрация
5 Июл 2007
Сообщения
218
Реакции
488
  • Автор темы
  • Заблокирован
  • #1
Есть таблица с двуями полями a1 и a2. Вес таблицы 4Гб, записей 34миллиона. Сделал индекс для поля a1.
Делаю выборку по таблице - "SELECT * FROM `tabl` where `a1` like '***' LIMIT 0 , 30"
Исполняется очень долго, больше 10 минут.
А если делать так: "SELECT `a1` FROM `tabl` where `a1` like '***' LIMIT 0 , 30", тогда выборка происходит за сотые секунды.
Но мне нужны данные и из второго поля. Почему запрос через звёздочку исполняется так долго?
Типы поля:
a1 - varchar(80)
a2 - text (примерно 80-100 символов в каждой строке)
Как ускорить выборку по обоим полям?
Решил проблему уже... Оказывается из-за типа полей это было, изменил тип поля a2 на varchar и проблема решилась :yahoo:
 
  • Нравится
Реакции: KEPZ
похожая проблема рассматривается здесь - Для просмотра ссылки Войди или Зарегистрируйся, и изменение типа поля это полумера, ведь оно не используется в блоке WHERE
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху