Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
suvorov
5 / 5 / 1
Регистрация: 14.11.2012
Сообщений: 110
#1

SQLite медленное выполнение оперетора LIKE - Программирование Android

05.01.2014, 05:11. Просмотров 731. Ответов 2
Метки нет (Все метки)

Добрй день!
Есть запроc:
SQL
1
SELECT * FROM Book WHERE Name LIKE 'test%'
Так вот этот запрос выполняется очень медленно. Как я понял оператор LIKE переводит все значения в больште буквы(ToUpper) и из-за этого так долго идет запрос. Подскажите, есть ли другие варианты такого запроса?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2014, 05:11
Я подобрал для вас темы с готовыми решениями и ответами на вопрос SQLite медленное выполнение оперетора LIKE (Программирование Android):

Медленное чтение SQLite
Добрый день. Есть приложение с базой. Одна таблица(One) на 1300 записей, id...

Медленное выполнение цикла
Приветствую! Такой вопрос: создал поток, в нем бесконечный цикл, увеличивающий...

Потоки [медленное выполнение]
Код в главной форме выполняется за секунд 10, тогда как в дополнительном...

Медленное выполнение запросов
Имеется следующая ситуация: VB-приложение обращается через DAO к БД Access на...

Медленное выполнение авторизации ВКонтакте
Имеется следующий код для авторизации ВКонтакте: $client_id = 'здесь ID'; //...

Очень медленное выполнение .c_str() в minGW
Есть функция: sscanf(line.c_str(), "%d\t%d\t%hu.%hu.%hu\t%hu:%hu:%hu\t%lf",...

2
Slon747
59 / 37 / 2
Регистрация: 24.08.2013
Сообщений: 478
05.01.2014, 11:42 #2
Цитата Сообщение от suvorov Посмотреть сообщение
Добрй день!
Есть запроc:
SQL
1
SELECT * FROM Book WHERE Name LIKE 'test%'
Так вот этот запрос выполняется очень медленно. Как я понял оператор LIKE переводит все значения в больште буквы(ToUpper) и из-за этого так долго идет запрос. Подскажите, есть ли другие варианты такого запроса?
Вроде бы нет.
Насколько медленно работает? В этой конструкции он не должен медленно работать. Разве что данных ОЧЕНЬ много.
Если поиск идет по 'test%', а не по '%test%', то можно добавить индекс по полю Name.
1
suvorov
5 / 5 / 1
Регистрация: 14.11.2012
Сообщений: 110
05.01.2014, 15:32  [ТС] #3
Цитата Сообщение от Slon747 Посмотреть сообщение
Насколько медленно работает?
Есть оператор "=" выполняет за 1 секунду, то LIKE уже за 5. Индекс по полю Name есть. В таблице около миллиона записей
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2014, 15:32
Привет! Вот еще темы с решениями:

Медленное выполнение запросов при работе Касперского
Здравствуйте! Помогите пожалуйста с такой проблемой, при работе в БД Microsoft...

Выполнение запросов к SQLite
Возник такой вопрос, меня очень беспокоит то, что я пока не нашел на него...

SQLite Проверка на выполнение запроса
SQLite Проверка на выполнение запроса //создание таблицы запрос таблицы...

Файл cookies.sqlite не sqlite на самом деле, или как его открыть
хочу прочитать куки браузеров (это не противозаконно) оперу сделал, хром...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru