Почему вы создаете все 6K во время выполнения? Как насчет ленивой загрузки их и создания только тех элементов, которые вам нужны, когда они вам нужны?
iphone не является настольным ПК, его процессор 400 + МГц, и итерация результатов 6K будет медленной.
Правильно ли проиндексирована ваша таблица? Не могли бы вы оптимизировать схему (типы полей?)? Вы действительно ничего не делаете, кроме как перебираете элементы 6K - так что я не вижу прямого способа оптимизировать этот цикл.
Я бы посмотрел увеличенную картинку и попытался бы найти способ ленивой загрузки или частичной загрузки данных. Скажем, вы используете данные для заполнения UITableView, может быть, вам нужен только первый слой, а не полностью обособленные объекты?
EDIT:
Что я имею в виду под типами полей, так это то, что в вашей базе данных есть 4x текстовых поля "sqlite3_column_text". Вам нужно использовать текстовые поля, или вы могли бы использовать что-то меньшее и, возможно, более оптимальное для ваших данных?