Буду ли я экономить время на ИНДЕКСЕ, который ВЫБИРАЕТ только один раз? - PullRequest
0 голосов
/ 21 августа 2009

На DBD :: SQLite от SQLite3

Если я собираюсь запросить SELECT только один раз.

Should I CREATE a INDEX first and then query the SELECT
 or
just query the SELECT without an INDEX,
 which is faster ?

Если необходимо указать, цв. быть индексированным - это INTEGER undef или 1, только эти 2 возможности.

Ответы [ 2 ]

3 голосов
/ 21 августа 2009

Создание индекса занимает больше времени, чем простое сканирование таблицы. Таким образом, если ваш единственный запрос - который вы выполняете только один раз - это просто сканирование таблицы, добавление индекса будет медленнее.

Однако, если ваш единственный запрос - это не просто просмотр таблицы, добавление индекса может быть быстрее. Например, без индекса база данных может выполнить объединение как можно большего числа сканирований таблицы, по одному разу для каждой объединенной строки. Тогда индекс, вероятно, будет быстрее.

Я бы сказал, чтобы сравнить его, но это звучит глупо для одноразового запроса, который вы будете выполнять только один раз.

0 голосов
/ 21 августа 2009

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

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