- Регистрация
- 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 и проблема решилась
Делаю выборку по таблице - "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 и проблема решилась