(По ORACLE)Сильно ли зависит производительность и размер от разных числовых полей в таблице?
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



(По ORACLE)Сильно ли зависит... Expand / Collapse
Автор
Сообщение
19.10.2001 16:14
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 24.04.2002 10:25
Сообщ.: 72, Visits: 793
(По ORACLE)Сильно ли зависит производительность и размер от разных числовых полей в таблице?
Смысл такой: Скоро придется проектировать базу и хотел бы определиться имеет ли смысл при проектировании таблиц тратить время на дополнительную аналитику, чтобы понимать какого типа сделать поле(integer, float, longint, ...) или все поля сделать одним NUMBER.
Интересно будет ли разница в размере или производительности. Поделитесь реальными наблюдениями, опытом...
Сообщ. #729194
23.10.2001 10:29
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 28.06.2002 21:38
Сообщ.: 47, Visits: 518
Сам не проверял, но могу прцетировать очень умную книжку "Oracle Проектирование баз данных".
В ней сказано, что в Oracle реально существуют только два типа данных: Number и Float.
Integer - это Number(38)
Smallint - это Number(38)
Real - это Float(63)
Рекомендуется всегда ограничивать разрядность целых чисел Number(nn) и чисел с плавающей точко Float(nn). Во многих случаях с помощью этого приема можно сэкономить до 75% дискового пространства и, следовательно, на 75% уменьшить число обращений к блокам при полном сканировании таблицы.
Сообщ. #729530
30.10.2001 14:57
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 21.02.2002 14:29
Сообщ.: 29, Visits: 320
По-моему не сильно зависит. Самое главное мудро индексы построить и про дерективы оптимизации не забывать. Советую для вычисления стоимости запроса использовать программу SQL Navigator(есть версии для оракла и др. баз). Еще есть специальная программа, которая в красиваостях показыват что просиходит с БД
Сообщ. #730630
05.11.2001 19:26
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 24.04.2002 10:25
Сообщ.: 72, Visits: 793
Провел тесты (насоздавал табличек с разными полями и навставлял строчек до полу-миллиона и потестировал запрсами).
Результат:
Производительность колеблется на одном уровне (в пределах 10% колеблются результаты для всех таблиц)
Размер как ни странно таблица с сплошными NUMBER(без параметров) занимает немного меньше чем со сплошными INTEGER
Смысла извращаться и в одной таблице комбинировать различные поля не вижу.
Сообщ. #731556
05.11.2001 21:21
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 17.04.2003 15:55
Сообщ.: 69, Visits: 760
На самом деле в Oracle ВСЕ числовые поля имеют тип NUMBER. Разница в 10% на оракле не значит совершенно ничего, он постоянно кеширует данные, поэтому вначале запрос может выполняться раза в 3 дольше обычного, от числового типа ничего не зависит. Проектировать поля нужно в зависимости от нужд. Например, денежные поля для хранения рублей имеет смысл делать NUMBER(12,2). Вообще лучше определить домены по смыслу (правда на сервере домены не поддерживаются, зато в Oracle Designer 6i запросто). А проектирование сведется к нормализации/денормализации данных.
Сообщ. #731567
12.11.2001 12:27
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 28.06.2002 21:38
Сообщ.: 47, Visits: 518
INTEGER - это тот же NUMBER. Проследить выигрыш можно только при полном сканировании таблицы. Ясно, что более короткое число будет считываться быстрее в столько раз, во сколько короче. При поиске по индексу существенной разницы в скорости поиска не будет. Будет только зря расходываться дисковое пространство.
Сообщ. #732386
12.11.2001 12:28
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 28.06.2002 21:38
Сообщ.: 47, Visits: 518
INTEGER - это тот же NUMBER. Проследить выигрыш можно только при полном сканировании таблицы. Ясно, что более короткое число будет считываться быстрее в столько раз, во сколько короче. При поиске по индексу существенной разницы в скорости поиска не будет. Будет только зря расходываться дисковое пространство.
Сообщ. #732388
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 11:23