У меня есть сомнение, что внешние таблицы (Oracle) могут использоваться в моем приложении, фактически не создавая реальную таблицу в базе данных. То, что я намереваюсь сделать, это то, что у меня есть файл .txt
(около 25 ГБ), и я хочу запустить SQL
запросы непосредственно в моем файле .txt
без создания и загрузки данных в фактической таблице базы данных. Итак, мой вопрос заключается в том, возможно ли это, и если да, то каковы недостатки и преимущества при этом. Любая помощь высоко ценится.Можно использовать внешние таблицы как обычную таблицу базы данных (Oracle)
ответ
Возможно, но основным недостатком внешних таблиц является то, что вы не можете создать какой-либо индекс для таких таблиц, поэтому выбор данных может быть довольно медленным. Прочитано this.
Вы можете применить параллельный запрос, но, конечно, не можете создавать индексы или изменять данные или собирать полный набор статистических данных (вы можете собирать некоторые статистические данные с помощью DBMS_STATS.GATHER_TABLE_STATS, что может помочь Oracle определить лучшую стратегию объединения).
Если файл был логически разделен на несколько файлов, чтобы вы могли указать, что данные за январь были в определенном файле, то вы, безусловно, могли бы иметь несколько внешних таблиц и, возможно, что-то фантастическое для эмуляции секционированных представлений, но это было бы боль.
Действительно, вы должны загрузить данные. Если производительность этого является проблемой, используйте нагрузку nologging с прямым указателем, уже определенную в таблице. В случае сбоя носителя вы можете перезагрузить данные, поэтому ведение журнала является необязательным.
- 1. Когда мы можем использовать внешние таблицы Oracle
- 2. Внешние таблицы Oracle Внешние таблицы Ошибка даты
- 3. Разделение таблицы базы данных Oracle базы данных
- 4. Oracle вставки таблицы базы данных
- 5. MYSQL Различные таблицы базы данных внешние ключи
- 6. Как преобразовать обычную таблицу в CKEditor таблицу
- 7. Столбец таблицы базы данных Oracle
- 8. Как можно программно обновить таблицу базы данных?
- 9. Внешние таблицы Oracle: расширенный макет плоского файла
- 10. Как создать таблицу таблицы базы данных
- 11. Внешние ключи для базы данных базы данных
- 12. Oracle таблицы базы данных столбца Отметка
- 13. Внешние таблицы DB2?
- 14. как создать таблицу случайных данных из существующей таблицы базы данных через процедуру oracle
- 15. Oracle ограничение базы данных
- 16. Как использовать глобальную временную таблицу Oracle?
- 17. Получить таблицу таблицы базы данных в CodeIgniter
- 18. Необязательные внешние ключи как стандарт базы данных
- 19. Неправильно ли использовать обычную функцию для запроса базы данных?
- 20. Oracle внешние таблицы - Задание динамического файла
- 21. Можно ли изменить механизм таблицы базы данных после создания таблицы?
- 22. Можно ли использовать Linq для ALTER таблицы базы данных?
- 23. Как просмотреть обычную таблицу в SQL
- 24. проектирования схемы базы данных и внешние ключи
- 25. Развертывание базы данных Oracle
- 26. Как вставить определенную строку данных таблицы в таблицу базы данных?
- 27. Как создавать и использовать и внешние базы данных котелка
- 28. Oracle 11G, внешние таблицы и .csv-файл
- 29. Запрос базы данных Oracle
- 30. Как использовать изображение для таблицы базы данных оракула 11gR2
довольно медленный - это действительно большое преуменьшение. Доступ к 25gb .txt ... madness – Najzero
@Mikhail Спасибо за ваш вклад, согласно моему требованию, я не буду создавать индексы, а также содержимое таблицы нужно будет удалять и загружать новыми данными очень часто. Итак, я думал о сохранении времени загрузки данных, так ли это хороший подход к использованию внешней таблицы? И можете ли вы поделиться этим тем, что он отличается от доступа к обычной таблице базы данных с точки зрения синтаксиса кода. – user2002522
@ user2002522 Therw не будет отличием в синтаксисе запроса, где бы вы ни запрашивали внешнюю таблицу или нет. Единственное отличие заключается в инструкции CREATE TABLE. Я думаю, вам нужно просто проверить два случая: время, необходимое для загрузки данных в обычную таблицу и запроса на нее, а также времени, которое потребуется для запроса внешней таблицы. И, учитывая время, которое вы получаете, решите, будет ли быстрее загружать данные или просто запрашивать их как есть. – Mikhail