Форум программистов, компьютерный форум, киберфорум
Oracle
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/20: Рейтинг темы: голосов - 20, средняя оценка - 4.70
1 / 1 / 0
Регистрация: 20.11.2007
Сообщений: 72
1

(По ORACLE)Сильно ли зависит производительность и размер от разных числовых полей в таблице?

27.12.2007, 15:51. Показов 3899. Ответов 6
Метки нет (Все метки)

(По ORACLE)Сильно ли зависит производительность и размер от разных числовых полей в таблице?
Смысл такой: Скоро придется проектировать базу и хотел бы определиться имеет ли смысл при проектировании таблиц тратить время на дополнительную аналитику, чтобы понимать какого типа сделать поле(integer, float, longint, ...) или все поля сделать одним NUMBER.
Интересно будет ли разница в размере или производительности. Поделитесь реальными наблюдениями, опытом...
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2007, 15:51
Ответы с готовыми решениями:

Форматирование числовых полей и полей дата-время
Есть ли что-нибудь попроще, чтобы получить результат в формате 'dd.mm.yyyy hh:mi'? SELECT ...

Зависит ли производительность приложения от версии ABI?
Привет народ, такой вопрос: начал тут копаться в командах GCC и наткнулся на -fabi-version= n, где...

От чего зависит производительность работы компьютера?
От чего зависит производительность работы компьютера?

Сильно снизилась производительность ПК
Компьютер внезапно стал работать медленно, долго прогружает открытие любой папки, да и вообще любой...

6
0 / 0 / 0
Регистрация: 15.03.2007
Сообщений: 40
31.12.2007, 10:06 2
Сам не проверял, но могу прцетировать очень умную книжку 'Oracle Проектирование баз данных'.
В ней сказано, что в Oracle реально существуют только два типа данных: Number и Float.
Integer - это Number(38)
Smallint - это Number(38)
Real - это Float(63)
Рекомендуется всегда ограничивать разрядность целых чисел Number(nn) и чисел с плавающей точко Float(nn). Во многих случаях с помощью этого приема можно сэкономить до 75% дискового пространства и, следовательно, на 75% уменьшить число обращений к блокам при полном сканировании таблицы.
0
smoke
07.01.2008, 14:34 3
По-моему не сильно зависит. Самое главное мудро индексы построить и про дерективы оптимизации не забывать. Советую для вычисления стоимости запроса использовать программу SQL Navigator(есть версии для оракла и др. баз). Еще есть специальная программа, которая в красиваостях показыват что просиходит с БД
1 / 1 / 0
Регистрация: 20.11.2007
Сообщений: 72
13.01.2008, 19:03  [ТС] 4
Провел тесты (насоздавал табличек с разными полями и навставлял строчек до полу-миллиона и потестировал запрсами).
Результат:
Производительность колеблется на одном уровне (в пределах 10% колеблются результаты для всех таблиц)
Размер как ни странно таблица с сплошными NUMBER(без параметров) занимает немного меньше чем со сплошными INTEGER
Смысла извращаться и в одной таблице комбинировать различные поля не вижу.
0
VVP
13.01.2008, 20:58 5
На самом деле в Oracle ВСЕ числовые поля имеют тип NUMBER. Разница в 10% на оракле не значит совершенно ничего, он постоянно кеширует данные, поэтому вначале запрос может выполняться раза в 3 дольше обычного, от числового типа ничего не зависит. Проектировать поля нужно в зависимости от нужд. Например, денежные поля для хранения рублей имеет смысл делать NUMBER(12,2). Вообще лучше определить домены по смыслу (правда на сервере домены не поддерживаются, зато в Oracle Designer 6i запросто). А проектирование сведется к нормализации/денормализации данных.
0 / 0 / 0
Регистрация: 15.03.2007
Сообщений: 40
20.01.2008, 12:04 6
INTEGER - это тот же NUMBER. Проследить выигрыш можно только при полном сканировании таблицы. Ясно, что более короткое число будет считываться быстрее в столько раз, во сколько короче. При поиске по индексу существенной разницы в скорости поиска не будет. Будет только зря расходываться дисковое пространство.
0
0 / 0 / 0
Регистрация: 15.03.2007
Сообщений: 40
20.01.2008, 12:05 7
INTEGER - это тот же NUMBER. Проследить выигрыш можно только при полном сканировании таблицы. Ясно, что более короткое число будет считываться быстрее в столько раз, во сколько короче. При поиске по индексу существенной разницы в скорости поиска не будет. Будет только зря расходываться дисковое пространство.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2008, 12:05

Очень сильно упала производительность
В общем есть сервер, с 6 ядерным процессором, 64 гигами оперативы, 2мя дисками в рейде. На нем...

Почему сглаживание сильно влияет на производительность?
Почему лагают игры такие как симс 3 дота 2, но макс пейн 3 идёт на высших без лагов но если сделать...

Сильно ли повысится производительность при апгрейде ОЗУ?
Доброго времени суток. Сильно ли повысится производительность в играх при апргрейде озу? Если да то...

Размер блока зависит от разрешения
Здравствуйте! Можно ли средствами JS определить разрешение экрана и в зависимости от этого задать...

Процедура для создание полей в таблице (кол-во полей > 50)
Собственно вопрос в теме. Для особо "одаренных": Помогите написать процедуру для создания полей в...

Сильно ли повлияет на общую производительность смена разрешения с 1280x768 на 1366x768?
Здравствуйте! Друг предлагает "нахаляву" свой старый монитор с разрешением 1366x768. У меня сейчас...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru