Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite: поиск по таблице с отсортированными значениями, как ускорить SELECT? / 6 сообщений из 6, страница 1 из 1
30.06.2009, 19:46
    #36066747
wildew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite: поиск по таблице с отсортированными значениями, как ускорить SELECT?
приветствую.
может, кому-то вопрос покажется идиотским, но всё же...

есть таблица:

Код: plaintext
1.
2.
CREATE TABLE wd (ID INTEGER PRIMARY KEY,
word VARCHAR[ 40 ], 
description TEXT);


есть индекс:

Код: plaintext
CREATE INDEX Word_index ON wd (word);


так вот, как указать интерпретатору mySQL, что значения поля word уже отсортированы по алфавиту?
возможно ли это?
и даст ли это выигрыш в скорости SELECT по word?
если нет, то как еще можно ускорить выборку?
...
Рейтинг: 0 / 0
01.07.2009, 00:36
    #36066959
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite: поиск по таблице с отсортированными значениями, как ускорить SELECT?
Код: plaintext
CREATE INDEX Word_index ON wd (word asc);

Версию формата файла БД нужно указать с поддержкой asc и desc индексов. Порядок записей в самой таблице для индекса роли не играет.

Кластеризация исходных данных (у вас - в виде алфавитной сортировки) выигрыш дает при больших объемах данных и определенных видах запросов, если у вас база маленькая (меньше 100 МБ), то вряд ли что-то заметите.

Ускорить можно, перестав искать и сортировать по текстовому полю - SQLite не сжимает индексы, так что значение текстового поля копируется в индекс целиком. Используйте хэш, или нормализуйте БД или придумайте другой способ выборки.
...
Рейтинг: 0 / 0
01.07.2009, 00:57
    #36066973
wildew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite: поиск по таблице с отсортированными значениями, как ускорить SELECT?
MBG,
авторВерсию формата файла БД нужно указать с поддержкой asc и desc индексов. Порядок записей в самой таблице для индекса роли не играет.
-- каким образом это сделать?

авторесли у вас база маленькая (меньше 100 МБ), то вряд ли что-то заметите.
-- больше 100 МБ :)
...
Рейтинг: 0 / 0
04.07.2009, 15:27
    #36073424
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite: поиск по таблице с отсортированными значениями, как ускорить SELECT?
Код: plaintext
PRAGMA legacy_file_format= 0 ; 

Или при компиляции -DSQLITE_DEFAULT_FILE_FORMAT=4
Или из моего репозитория взять сборку: http://mobigroup.ru/page/debian
...
Рейтинг: 0 / 0
08.07.2009, 13:08
    #36079716
quazare
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite: поиск по таблице с отсортированными значениями, как ускорить SELECT?
версия sqlite какая?
...
Рейтинг: 0 / 0
08.07.2009, 15:27
    #36080115
wildew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite: поиск по таблице с отсортированными значениями, как ускорить SELECT?
версия sqlite последняя
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite: поиск по таблице с отсортированными значениями, как ускорить SELECT? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]