Показать сообщение отдельно
  #1  
Старый 15.09.2012, 04:09
svi2012 svi2012 вне форума
Прохожий
 
Регистрация: 15.09.2012
Сообщения: 7
Репутация: 10
По умолчанию База данных на 50 млн. записей

Здравствуйте!
Помогите решить вопрос такого характера.
Импортирую txt-файла (экспорт из БД Cronos) в базу данных SQLite с помощью SQLite Maestro v12.1.0. База в ANSI кодировке (кирилица).
Поначалу втянул порядка 1 млн. записей. Проиндексировал по 1 полю и решил протестировать простые запросы в самом SQLite Maestro.
Что меня обрадовало, это то, что при точном запросе (select * from BD where [Field01]='ПЕТРОВ') SQLite обеспечивает высокую скорость (порядка 0,5-1 с).
И что меня огорчило, так это то, что только запрос задаешь не явным способом (select * from BD where [Field01] like 'ПЕТРО%') так скорость выборки растягивается до 4-5 мин. А это только 1 млн. записей из запланированных 50 млн.

Чувствую, что я что-то не учел: или то, что это кирилица и ее сравнивать для SQLite сложнее, а лучше втягивать в базу информацию в UTF-8, а результат потом конвертировать в кирилицу или что-то еще.

Подскажите где у меня тут грабли... или подскажите еще варианты реализации работы с такой базой но другими средствами..
Спасибо
Ответить с цитированием