У меня есть программа в lazarus, которая считывает и обрабатывает данные с сервера базы данных mysql5, тогда эти данные создают набор таблиц в sqlite, чтобы использовать его в приложении Android, в этом в наборе таблиц есть то, что количество записей составляет около 12000, когда я пытаюсь создать эти таблицы с помощью объекта Saclite dataaccess в lazarus, например TSqlScript, для выполнения этого сценария создания занимает много времени около 8-15 минут, но выполняет этот скрипт с командной строкой sqlite shell занимает всего несколько секунд, как я Ejecute этот скрипт, используя оболочку sqlite3 от lazarus.Доступ к оболочке sqlite из lazarus для запуска sql-скрипта
ответ
Если вы не используете явные транзакции, SQLite автоматически переносит каждый отдельный оператор SQL в транзакцию, что приводит к ужасным издержкам, если вы используете множество операторов.
Явно использовать одну транзакцию вокруг всего скрипта.
Я использую компоненты TSQLite3Connection и TSQLScript и добавляю в начале скрипта BEGIN TRANSACTION; и в конце скрипта COMMIT; но когда я вызываю метод SQLScript1.Execute; это занимает много времени, и когда финиш не создает ничего, но когда я запускаю scritp из личного эксперта SQLite, это занимает всего несколько минут. – David
Да, я пробую это в java, и скорость очень быстрая, когда вы используете транзакцию beign и End Transaction без трансакций долгое время, но в лазаре нет изменений скорости – David
- 1. Доступ к оболочке Python для отдельного сценария запуска
- 2. Perl отключить доступ к оболочке
- 3. Удаленный доступ к оболочке
- 4. Lazarus/Ubuntu - ошибка запуска
- 5. Доступ к оболочке оболочки в оболочке mongo
- 6. Доступ к оболочке mongo из приложения
- 7. Доступ к SQLite из BaseAdapter
- 8. Включить sqlite в Lazarus ide?
- 9. команда запуска в родительской оболочке из рубина
- 10. Доступ к данным из базы данных sqlite
- 11. Доступ к объекту конфигурации из класса запуска
- 12. Доступ к SQLite из разных процессов
- 13. Доступ к странному каталогу в оболочке linux
- 14. Как мне получить доступ к оболочке db для SQLite в проекте Django?
- 15. Доступ к данным из базы данных sqlite?
- 16. Lazarus - Как изменить порядок запуска формы
- 17. Как защитить доступ к удаленной оболочке neo4j?
- 18. Breeze Durandal Доступ к оболочке viewmodel переменной из вида
- 19. докер-Compose: доступ к оболочке Postgres' (PSQL)
- 20. Доступ к таблицам sqlite из CMD для eclipse
- 21. Команды запуска во вложенной оболочке
- 22. Доступ к данным и оболочке в контейнере Docker Запуск сценария
- 23. Tomcat7 привязан к оболочке
- 24. MySQL Дамп для tar.gz из удаленного без доступа к оболочке
- 25. Компонент к строке в Lazarus
- 26. Возможно ли получить доступ к базе данных SQLite или (Sql-браузер для SqLite) из Java?
- 27. Написать доступ к Sqlite в приложении iOS
- 28. Доступ к данным SQLite SQLite с использованием java в android
- 29. TSQLite3Connection в Lazarus не может прочитать файл SQLite
- 30. Доступ к командной строке до начала запуска
Вы используете одну транзакцию вокруг всего скрипта? –
нет, я должен? – David
Пожалуйста, показать код 'TSqlScript'. –