SQLite: ВСТАВИТЬ и ЗАКАЗАТЬ одновременно - PullRequest
0 голосов
/ 27 июля 2010

У меня есть таблица с 25.000 строк (столбцы со строками).

Я бы хотел улучшить свой запрос на выборку. "ВЫБРАТЬ имя из таблицы, ГДЕ имя НРАВИТСЯ" что-то ", ПОРЯДОК ПО ИМЕНИ LIMIT 15"

База данных будет статической.

Я хотел бы знать, возможно ли упорядочить столбец, когда я вставляю строку в свою таблицу, и уменьшит ли это время запроса на выборку, если таблица уже упорядочена по имени?

Ответы [ 3 ]

2 голосов
/ 27 июля 2010

Если база данных будет статичной, зачем вообще ее использовать? Просто жестко закодируйте эти 15 имен в программе. Если вы имеете в виду, что таблица не будет изменяться, то для улучшения вашего запроса вы можете поместить индекс в имя столбца name или использовать больший объем кеша.

2 голосов
/ 27 июля 2010

То, что вы спрашиваете, не имеет смысла - предложение ORDER применяется только к операциям SELECT, а не INSERT.(Что бы вы заказали, например?)

Если вы говорите о создании какой-либо формы index , если вы указали, что столбец имени является индексом (в идеале, при построении таблицы ) вы можете сделать немногое - остальное зависит от авторов системы RDBMS.(то есть: они решают, когда индексы будут построены / обновлены и т. д. - вы не можете это контролировать.)

0 голосов
/ 09 апреля 2014

Будет работать что-то вроде следующего:

INSERT INTO TABLE1 (S1, S2, S3) SELECT S1, S2, S3 FROM TEMP ORDER BY S1, S2, S3

Здесь упорядочение выполняется как часть оператора SELECT перед вставкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...