Как мне структурировать базу данных SQLite для быстрого выполнения запросов - PullRequest
0 голосов
/ 16 ноября 2011
  • Моя база данных никогда не обновляется, она только что прочитана.

  • Я всегда ищу, используя хэш элемента, т.е. я хочу получить набор элементов WHERE itemHash = 34 OR itemHash = 1345

  • Мне всегда нужно выбрать все переменных (var1, var2, var3, var4). Никогда не бывает, чтобы мне просто нужно было var1 например.

Мои выборки в настоящее время медленные из-за количества данных, и я хочу ускорить их.

У меня есть две структуры кандидатов. Я хотел знать, что быстрее для извлечения (если есть) и почему.

«Разделенная форма»

split form

«Комбинированная форма»

combined form

Также есть что-нибудь еще, что я могу сделать, чтобы ускорить процесс?

В настоящее время я склоняюсь к комбинированной форме, потому что это означает, что поиски не должны проходить два запроса. Однако в комбинированной форме будет больше строк для поиска.

1 Ответ

0 голосов
/ 18 ноября 2011

Является ли элемент хэшем строкой или числом? Это важно, так как поиск строк медленнее.

Что касается базового вопроса, потому что отношения и объединение таблиц медленнее, ваша «комбинированная» модель будет быстрее.

Однако это поднимает вопрос: запускали ли вы инструменты и профилировали выборку? Какой вызов метода занимает больше всего времени? Это действительно медленный выбор?

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