powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Производительность при использовании единой таблицы для справочников
25 сообщений из 106, страница 3 из 5
Производительность при использовании единой таблицы для справочников
    #33738136
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman
Я более практик, чем теоретик (если это Вас интересует).
Иногда полезно с небес на землю спуститься (чтоб не исследовать работу оптимизатора для всех БД вместе взятых).

"Для определения качества приготовленной яичницы - необязательно уметь нести яйца" - (с)
Я только за то, что:
Не стоит строить архитектуру на "приблизительных подходах". ______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33738155
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Petro123
Чтож, уважаю Вашу точку зрения. Вам с Вашего рабочего места виднее.
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33744500
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR
Не могли бы Вы прояснить Ваш текст в более понятном виде (никак не уясню суть без голых данных-примеров)
http://www.sql.ru/forum/actualpost.aspx?bid=36&tid=294156&mid=0&p=1#2674302

ObjType
70 ???71 ???100 ???

Object
13 100 ??? Phone14 100 ??? Phone

SomeTable
1 13 702 14 71
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33745036
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 ModelR
Не могли бы Вы прояснить Ваш текст в более понятном виде (никак не уясню суть без голых данных-примеров)
http://www.sql.ru/forum/actualpost.aspx?bid=36&tid=294156&mid=0&p=1#2674302 Без проблем. Ближе к теме топика:
Например, в таблице SomeTable атрибут 1 "основное качество" может быть ровно одним из приведенных выше перечислений Бугорки, Глубина, Высота .

ObjType = Справочник
ObjType_IDObjType_Name 70 Бугорки71 Глубина100 Высота

Object = Позиция справочника
Object_ID ObjType_ID Object_CodeObject_Name13 100 высокий виден из далека14 100 низкий 15 71 ооочень_глубокий дна не достать

SomeTable
Id Attr1_ID Attr1_TypeId more attributes1 13 1002 14 1003 15 71
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33878831
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR Petro123 ModelR
Не могли бы Вы прояснить Ваш текст в более понятном виде (никак не уясню суть без голых данных-примеров)
http://www.sql.ru/forum/actualpost.aspx?bid=36&tid=294156&mid=0&p=1#2674302 Без проблем. Ближе к теме топика:
Например, в таблице SomeTable атрибут 1 "основное качество" может быть ровно одним из приведенных выше перечислений Бугорки, Глубина, Высота .

ObjType = Справочник
ObjType_IDObjType_Name 70 Бугорки71 Глубина100 Высота

Object = Позиция справочника
Object_ID ObjType_ID Object_CodeObject_Name13 100 высокий виден из далека14 100 низкий 15 71 ооочень_глубокий дна не достать

SomeTable
Id Attr1_ID Attr1_TypeId more attributes1 13 1002 14 1003 15 71
А теперь вопрос: что с этим рациональнее всего сделать, если Бугорки - Есть/Нет, Высота измеряется в метрах, а вместо Глубины Цвет (ну пусть для примера целочисленный).
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33880088
sqllex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использование 1-го справочника отрицательно скажется на отчетах (скорость), где фигурируют данные из нескольких справочников.
Сервер БД может подтормаживать при плотной работе пользователей числом больше 3. Особенно в режиме редактирования этих самых справочников.
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33880135
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Область применения достаточно узкая, но реальная: множесто простых и коротких (память на данные сравнима с памятью на словарь данных для таблицы) справочников с однотипными значениями. Справочники создаются достаточно часто, но после создания их содержание меняется редко.
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33880201
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqllexИспользование 1-го справочника отрицательно скажется на отчетах (скорость), где фигурируют данные из нескольких справочников.
Сервер БД может подтормаживать при плотной работе пользователей числом больше 3. Особенно в режиме редактирования этих самых справочников.
неужели?
Сервер предназначен для МНОГОПОЛЬЗОВАТЕЛЬСКОЙ работы. Если он "подтормаживает" при > 3х пользователей .

Вот вы читаете этот пост и его редактируют другие сколько_пользователей ?
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33880837
sqllex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу, представьте себе, тормозил именно сервер БД при выполнении ХП. Кол-во работников, которые работали в системе на вводе данных было аж 5 человек.
Работали плотно как раз с этим справочником и документами, которые связаны были с несколькими справочниками, физически помещенными в один суперсправочник.
Исходя из этого я и написал "больше 3". Хотя специально я не проверял, как повела бы себя система с 4-мя пользователми, но, думаю, большой разницы не было бы.
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33881234
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 sqllex

Кривизна той реализации или производительность сервера СУБД не дает вам право делать такие выводы. У нас например идет поток в 2000 сложных транзакций в сек. и ничего обрабатывается ....
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33885567
sqllex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas2 sqllex
Кривизна той реализации или производительность сервера СУБД не дает вам право делать такие выводы. У нас например идет поток в 2000 сложных транзакций в сек. и ничего обрабатывается ....
Кривизна реализации чего именно, можно уточнить?
Разделение справочников и соответсвующие изменения кода ХП на том же железе - получили отсутствие тормозов при одновременной работе (выполняли те же действия с этими же таблицами) 12 человек - ни одной жалобы.
Вывод (мой): кривая реализация именно хранения справочников все в одном. Изменили метод - проблема ушла.
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33886597
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqllexКривизна реализации чего именно, можно уточнить?
Разделение справочников и соответсвующие изменения кода ХП на том же железе - получили отсутствие тормозов при одновременной работе (выполняли те же действия с этими же таблицами) 12 человек - ни одной жалобы.
Вывод (мой): кривая реализация именно хранения справочников все в одном. Изменили метод - проблема ушла.
С кода ХП нужно было и начинать. Какая зависимость между количеством пользователей и хранением записей однотипных справочников в одной таблице? Единственная. Какая-то ХП (зачем она для справочника?) которая тормозила. Но не тема топика.
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33887094
gybson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаю назвать это не справочниками, а списками и не париться. Нормальное решение, когда необходимо в системе иметь кучу объектов типа "Ссылка-Наименование".
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33887859
sqllex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
С кода ХП нужно было и начинать. Какая зависимость между количеством пользователей и хранением записей однотипных справочников в одной таблице? Единственная. Какая-то ХП (зачем она для справочника?) которая тормозила. Но не тема топика.
Ага, конечно! Зачем вообще ХП для справочников? :)

Может быть покажете на примерчике как написать ХП для сабжевого справочника, которая делает выборку документов с участием нескольких справочников (у нас было максимум 7). Вот тогда и поговорим о ХП, которая в этих условиях не будет тормозить.

Что касается изменения кода ХП, то обьясните мне, тугодуму, как можно было использовать старый код, если структура БД изменилась?
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33887885
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqllexАга, конечно! Зачем вообще ХП для справочников? :)

Может быть покажете на примерчике как написать ХП для сабжевого справочника, которая делает выборку документов с участием нескольких справочников (у нас было максимум 7). Вот тогда и поговорим о ХП, которая в этих условиях не будет тормозить.

Что касается изменения кода ХП, то обьясните мне, тугодуму, как можно было использовать старый код, если структура БД изменилась?
целых 3 параграфа, а в чем смысл? Можете яснее изъясняться?
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33888292
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqllexМожет быть покажете на примерчике как написать ХП
ну хотя бы, написать так, чтобы сервер (его оптимизатор) при каждом запуске не менял план выполнения запроса . Для MS SQL Server есть куча способов, но это отдельная тема IMHO
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33888614
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqllexМожет быть покажете на примерчике как написать ХП для сабжевого справочника, которая делает выборку документов с участием нескольких справочников (у нас было максимум 7). Вот тогда и поговорим о ХП, которая в этих условиях не будет тормозить.

Что касается изменения кода ХП, то обьясните мне, тугодуму, как можно было использовать старый код, если структура БД изменилась? Petro123ну хотя бы, написать так, чтобы сервер (его оптимизатор) при каждом запуске не менял план выполнения запроса.
Ответ поразил, честно.

Petro123 - скажите, а при чем тут изменение плана ?
Вы полагаете, что если план не изменяется - производительность вырастет ?
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33889149
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Alexey Kudinov[/quot]
Вы полагаете, что если план не изменяется - производительность вырастет ?[/quot]
разумеется, примерно на 1 сек. (не требуется оптимизация + компилировать + сохранение в кэше). Если использовать в цикле, то время набегает ....
======
Статичный запрос всегда выполняется быстрее чем динамичный.
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33890356
Лео
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не забудьте про блокировки в одной таблице, они должны существенно усложнить одновременную работу с разными справочниками. Кстати, у меня есть мнение, что при работе с таблицей данных, ссылающейся на большое кол-во справочников в одной таблице (>10) иногда наблюдаются глюки оптимизатора.
Вопрос к уважаемым спецам.
Система хранит данные на пересечении справочников. Таблиц данных много. Справочников много. Скорость изменения справочников низкая (20-30 записей в день). Скорость изменения данных средняя (10 000 записей в день). Ссылочная целостность обязательна. Справочники имеют разный состав полей. НО, существуют (назовем так - недосправочники) это некоторые наборы строк из разных справочников. Часть полей в таблице данных должна состоять из значений строк РАЗНЫХ справочников, входящих в набор. Как реализовывать?
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33891024
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛеоНе Часть полей в таблице данных должна состоять из значений строк РАЗНЫХ справочников, входящих в набор. Как реализовывать?
вот это непонятно.

Простейший случай:
id_справочника_ФИО зарплата23 1350руб

справочник
id_справочника_ФИО ФИО23 Петров
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33891661
Гость1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мои 5 копеек ;)

А каким образом документировать подобный набор справочников и связей?
Создание справочников на пром, тестовой и девелоперских базах? Инсерт скриптами?
Пользователь насоздовал справочников PK на пром.схеме, потом их синхронизировать с тестовой...?
Мне кааца, что описание системы будет страдать, для мелких систем возможно и пойдет, для крупных сложно поддерживать.
Совместная работа при BPM, CDM, PDM и т.п. тоже наверное будет не фонтан...
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33891691
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1111
вы приведите пример проблемных справочников. Они ведь разные бывают. Ведь можно создать целую БД-справочников. А можно простейший случай:
БОЛЬШОЙ_справочник из мелких справочников (ДниНедели+КритическиеДни+УлицыГорода+.......)
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33891735
Гость1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я скорее не про проблему справочников, а про то чем вы моделировать это дело будете, как документировать, как управлять изменениями?
Будете писать свой редактор моделей, метамоделей, cvs и т.п.? - удачи ;)
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33891897
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1111Я скорее не про проблему справочников, а про то чем вы моделировать это дело будете, как документировать, как управлять изменениями?
Будете писать свой редактор моделей, метамоделей, cvs и т.п.? - удачи ;)
что сложного-то?
Справочники не создаёт пользователь.
При разработке 2 варианта:
1. Вы делаете Большую таблицу с постоянным числом справочников.
2. Вы делаете много таблиц с постоянным числом этих таблиц.

Всё остальное (конструкторы метаданных пользователем а-ля 1С) не для меня, этого форума, и этого уровня мЫшления. IMHO
...
Рейтинг: 0 / 0
Производительность при использовании единой таблицы для справочников
    #33891976
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123
Всё остальное (конструкторы метаданных пользователем а-ля 1С) не для меня, этого форума, и этого уровня мЫшления. IMHOВы имеете в виду способы, в которых количество таблиц не постоянно?..
...
Рейтинг: 0 / 0
25 сообщений из 106, страница 3 из 5
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Производительность при использовании единой таблицы для справочников
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]