Я добавляю столбец с типом данных varchar2 (1000). Этот столбец будет использоваться для хранения большого набора сообщений (приблизительно (600 символов). Он влияет на производительность запроса на наличие большой длины datatype, если да, то как? у меня будет запрос выбора этого столбца иногда. есть ли таблица потреблять дополнительную память здесь, даже если значение в этой области в некоторых местах 100 символов?Значительное влияние на производительность длинной длины Datatype в Oracle?
ответ
ли это влияет на производительность? это зависит от многого.
Если «добавление столбец "подразумевает, что у вас есть существующая таблица с существующими данными, к которой вы добавляете новый столбец, собираетесь ли вы заполнять новый столбец для старых данных? Если это так, в зависимости от ваших настроек и существующего размера строк , увеличение размера каждой строки в среднем на 600 байт вполне может привести к миграции строк, что потенциально может увеличить количество операций ввода-вывода, которые должны выполняться для получения строки. Вы можете создать новую таблицу с новым столбцом и перенести старые данные в новую таблицу, одновременно добавляя новый столбец, если это вызывает беспокойство.
Если у вас есть запросы, которые включают полное сканирование таблицы в таблице, все, что вы делаете, что увеличивает размер таблицы, будет отрицательно влиять на скорость этих запросов, так как теперь они должны читать больше данных.
Когда вы увеличиваете размер строки, вы уменьшаете количество строк на блок. Это будет иметь тенденцию увеличивать давление на буферный кеш, чтобы вы либо кэшировали меньшее количество строк из этой таблицы, либо быстрее стареете некоторые другие блоки. Любой из них может привести к тому, что отдельные запросы будут выполнять больше физических операций ввода-вывода, а не логических операций ввода-вывода и, таким образом, работать дольше.
A VARCHAR2(1000)
будет использовать только любое пространство, необходимое для хранения определенного значения. Если некоторым строкам требуется только 100 байт, Oracle будет выделять только 100 байтов внутри блока. Если другим строкам требуется 900 байт, Oracle будет выделять 900 байтов внутри блока.
- 1. Влияние длины кода на производительность?
- 2. Влияние длины ключа на производительность запросов?
- 3. Paramiko: Может ли понижение MAX_REQUEST_SIZE оказать значительное влияние на производительность?
- 4. Могут ли события без слушателей оказать значительное влияние на производительность?
- 5. Значительное влияние на производительность/размер Android оказывает значительное количество классов с пустым/стандартным шаблоном (Исключения, события)?
- 6. Влияние default_scope рельса на производительность
- 7. Влияние длины поля редактирования столбца varchar2 oracle
- 8. Влияние `USE` на производительность
- 9. Влияние отклика на производительность
- 10. Влияние javax.servlet.Filter на производительность?
- 11. Console.Writeline Влияние на производительность
- 12. notify_one Влияние на производительность
- 13. Влияние ROW_NUMBER на производительность?
- 14. Влияние мыши на производительность
- 15. Влияние длины имени поля базы данных на производительность?
- 16. Java - Влияние System.out на производительность
- 17. Log.d и влияние на производительность
- 18. Влияние неиспользованного индексации на производительность
- 19. Влияние на производительность nvarchar (4000)?
- 20. сигнал(): любое влияние на производительность?
- 21. Влияние объема памяти на производительность
- 22. влияние на производительность статического конструктора
- 23. ISO_C_BINDING: Влияние на производительность/оптимизацию
- 24. Влияние виртуального наследования на производительность
- 25. Влияние гиперпотока на производительность компилятора?
- 26. JPA - Влияние плетения на производительность
- 27. Влияние размера данных на производительность
- 28. Влияние виртуальных методов на производительность
- 29. oracle datatype
- 30. Влияние на производительность использования netmq poller
Спасибо! Это отвечает на мой вопрос. Является ли хорошей практикой давать такую большую длину dataype в таблицах OLTP? – user3225011
@ user3225011 - Рекомендуется использовать соответствующие типы данных, которые используют соответствующие длины для данных, которые необходимо хранить. Если вам нужно хранить до 1000 байтов данных, 'VARCHAR2 (1000)' отлично подходит для любого приложения. Если вам действительно нужно хранить меньше (или больше), будет нужен другой тип данных. –