Регистрация на 3 разных столах требует времени для получения данных - PullRequest
1 голос
/ 30 января 2012

Я применяю запрос на соединение для извлечения данных из базы данных в приложении для iPhone.
См. Мой запрос
"select A.a1, A.a2, B.b1, B.b2, C.c1, C.c2, from A LEFT OUTER JOIN B ON A.a3 = B.b3 AND A.a4 = B.b4 LEFT OUTER JOIN C ON A.a5 = C.c3 Where A.a6 = '%@'"

Здесь A содержит более 30 тысяч записей, B содержит 20 тысяч записей, а C содержит 200 записей. Есть ли способ сократить время, необходимое для извлечения данных?

ПРИМЕЧАНИЕ. Этот запрос возвращает правильный результат.

Ответы [ 2 ]

1 голос
/ 30 января 2012

В этом случае вы можете использовать индексы столбцов в таблице.Следующие ссылки указывают на то, как создать индексы в базе данных Sqlite.

  1. создание индекса
  2. На этот же вопрос дан ответ здесь.

Это может помочь вам.

0 голосов
/ 30 января 2012

вы пробовали индексировать таблицу A? если не попробовать .. это может быть способ сократить время для получения данных .. Предупреждение: использование индекса в неправильном месте может повлиять на вашу производительность

...