|
|
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
gardenman Я более практик, чем теоретик (если это Вас интересует). Иногда полезно с небес на землю спуститься (чтоб не исследовать работу оптимизатора для всех БД вместе взятых). "Для определения качества приготовленной яичницы - необязательно уметь нести яйца" - (с) Я только за то, что: Не стоит строить архитектуру на "приблизительных подходах". ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 12:08 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
2 Petro123 Чтож, уважаю Вашу точку зрения. Вам с Вашего рабочего места виднее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 12:12 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
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 ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 10:55 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 12:44 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
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 А теперь вопрос: что с этим рациональнее всего сделать, если Бугорки - Есть/Нет, Высота измеряется в метрах, а вместо Глубины Цвет (ну пусть для примера целочисленный). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2006, 11:34 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
Использование 1-го справочника отрицательно скажется на отчетах (скорость), где фигурируют данные из нескольких справочников. Сервер БД может подтормаживать при плотной работе пользователей числом больше 3. Особенно в режиме редактирования этих самых справочников. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2006, 15:55 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
Область применения достаточно узкая, но реальная: множесто простых и коротких (память на данные сравнима с памятью на словарь данных для таблицы) справочников с однотипными значениями. Справочники создаются достаточно часто, но после создания их содержание меняется редко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2006, 16:09 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
sqllexИспользование 1-го справочника отрицательно скажется на отчетах (скорость), где фигурируют данные из нескольких справочников. Сервер БД может подтормаживать при плотной работе пользователей числом больше 3. Особенно в режиме редактирования этих самых справочников. неужели? Сервер предназначен для МНОГОПОЛЬЗОВАТЕЛЬСКОЙ работы. Если он "подтормаживает" при > 3х пользователей . Вот вы читаете этот пост и его редактируют другие сколько_пользователей ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2006, 16:27 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
Угу, представьте себе, тормозил именно сервер БД при выполнении ХП. Кол-во работников, которые работали в системе на вводе данных было аж 5 человек. Работали плотно как раз с этим справочником и документами, которые связаны были с несколькими справочниками, физически помещенными в один суперсправочник. Исходя из этого я и написал "больше 3". Хотя специально я не проверял, как повела бы себя система с 4-мя пользователми, но, думаю, большой разницы не было бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2006, 21:20 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
2 sqllex Кривизна той реализации или производительность сервера СУБД не дает вам право делать такие выводы. У нас например идет поток в 2000 сложных транзакций в сек. и ничего обрабатывается .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2006, 09:41 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
bas2 sqllex Кривизна той реализации или производительность сервера СУБД не дает вам право делать такие выводы. У нас например идет поток в 2000 сложных транзакций в сек. и ничего обрабатывается .... Кривизна реализации чего именно, можно уточнить? Разделение справочников и соответсвующие изменения кода ХП на том же железе - получили отсутствие тормозов при одновременной работе (выполняли те же действия с этими же таблицами) 12 человек - ни одной жалобы. Вывод (мой): кривая реализация именно хранения справочников все в одном. Изменили метод - проблема ушла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 15:19 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
sqllexКривизна реализации чего именно, можно уточнить? Разделение справочников и соответсвующие изменения кода ХП на том же железе - получили отсутствие тормозов при одновременной работе (выполняли те же действия с этими же таблицами) 12 человек - ни одной жалобы. Вывод (мой): кривая реализация именно хранения справочников все в одном. Изменили метод - проблема ушла. С кода ХП нужно было и начинать. Какая зависимость между количеством пользователей и хранением записей однотипных справочников в одной таблице? Единственная. Какая-то ХП (зачем она для справочника?) которая тормозила. Но не тема топика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2006, 00:20 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
Предлагаю назвать это не справочниками, а списками и не париться. Нормальное решение, когда необходимо в системе иметь кучу объектов типа "Ссылка-Наименование". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2006, 18:39 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
iscrafm С кода ХП нужно было и начинать. Какая зависимость между количеством пользователей и хранением записей однотипных справочников в одной таблице? Единственная. Какая-то ХП (зачем она для справочника?) которая тормозила. Но не тема топика. Ага, конечно! Зачем вообще ХП для справочников? :) Может быть покажете на примерчике как написать ХП для сабжевого справочника, которая делает выборку документов с участием нескольких справочников (у нас было максимум 7). Вот тогда и поговорим о ХП, которая в этих условиях не будет тормозить. Что касается изменения кода ХП, то обьясните мне, тугодуму, как можно было использовать старый код, если структура БД изменилась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2006, 21:59 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
sqllexАга, конечно! Зачем вообще ХП для справочников? :) Может быть покажете на примерчике как написать ХП для сабжевого справочника, которая делает выборку документов с участием нескольких справочников (у нас было максимум 7). Вот тогда и поговорим о ХП, которая в этих условиях не будет тормозить. Что касается изменения кода ХП, то обьясните мне, тугодуму, как можно было использовать старый код, если структура БД изменилась? целых 3 параграфа, а в чем смысл? Можете яснее изъясняться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2006, 22:56 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
sqllexМожет быть покажете на примерчике как написать ХП ну хотя бы, написать так, чтобы сервер (его оптимизатор) при каждом запуске не менял план выполнения запроса . Для MS SQL Server есть куча способов, но это отдельная тема IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2006, 10:15 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
sqllexМожет быть покажете на примерчике как написать ХП для сабжевого справочника, которая делает выборку документов с участием нескольких справочников (у нас было максимум 7). Вот тогда и поговорим о ХП, которая в этих условиях не будет тормозить. Что касается изменения кода ХП, то обьясните мне, тугодуму, как можно было использовать старый код, если структура БД изменилась? Petro123ну хотя бы, написать так, чтобы сервер (его оптимизатор) при каждом запуске не менял план выполнения запроса. Ответ поразил, честно. Petro123 - скажите, а при чем тут изменение плана ? Вы полагаете, что если план не изменяется - производительность вырастет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2006, 11:39 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
[quot Alexey Kudinov[/quot] Вы полагаете, что если план не изменяется - производительность вырастет ?[/quot] разумеется, примерно на 1 сек. (не требуется оптимизация + компилировать + сохранение в кэше). Если использовать в цикле, то время набегает .... ====== Статичный запрос всегда выполняется быстрее чем динамичный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2006, 13:58 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
Не забудьте про блокировки в одной таблице, они должны существенно усложнить одновременную работу с разными справочниками. Кстати, у меня есть мнение, что при работе с таблицей данных, ссылающейся на большое кол-во справочников в одной таблице (>10) иногда наблюдаются глюки оптимизатора. Вопрос к уважаемым спецам. Система хранит данные на пересечении справочников. Таблиц данных много. Справочников много. Скорость изменения справочников низкая (20-30 записей в день). Скорость изменения данных средняя (10 000 записей в день). Ссылочная целостность обязательна. Справочники имеют разный состав полей. НО, существуют (назовем так - недосправочники) это некоторые наборы строк из разных справочников. Часть полей в таблице данных должна состоять из значений строк РАЗНЫХ справочников, входящих в набор. Как реализовывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2006, 20:34 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
ЛеоНе Часть полей в таблице данных должна состоять из значений строк РАЗНЫХ справочников, входящих в набор. Как реализовывать? вот это непонятно. Простейший случай: id_справочника_ФИО зарплата23 1350руб справочник id_справочника_ФИО ФИО23 Петров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2006, 10:19 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
Мои 5 копеек ;) А каким образом документировать подобный набор справочников и связей? Создание справочников на пром, тестовой и девелоперских базах? Инсерт скриптами? Пользователь насоздовал справочников PK на пром.схеме, потом их синхронизировать с тестовой...? Мне кааца, что описание системы будет страдать, для мелких систем возможно и пойдет, для крупных сложно поддерживать. Совместная работа при BPM, CDM, PDM и т.п. тоже наверное будет не фонтан... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2006, 13:06 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
Гость1111 вы приведите пример проблемных справочников. Они ведь разные бывают. Ведь можно создать целую БД-справочников. А можно простейший случай: БОЛЬШОЙ_справочник из мелких справочников (ДниНедели+КритическиеДни+УлицыГорода+.......) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2006, 13:16 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
Я скорее не про проблему справочников, а про то чем вы моделировать это дело будете, как документировать, как управлять изменениями? Будете писать свой редактор моделей, метамоделей, cvs и т.п.? - удачи ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2006, 13:26 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
Гость1111Я скорее не про проблему справочников, а про то чем вы моделировать это дело будете, как документировать, как управлять изменениями? Будете писать свой редактор моделей, метамоделей, cvs и т.п.? - удачи ;) что сложного-то? Справочники не создаёт пользователь. При разработке 2 варианта: 1. Вы делаете Большую таблицу с постоянным числом справочников. 2. Вы делаете много таблиц с постоянным числом этих таблиц. Всё остальное (конструкторы метаданных пользователем а-ля 1С) не для меня, этого форума, и этого уровня мЫшления. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2006, 14:03 |
|
||
|
Производительность при использовании единой таблицы для справочников
|
|||
|---|---|---|---|
|
#18+
Petro123 Всё остальное (конструкторы метаданных пользователем а-ля 1С) не для меня, этого форума, и этого уровня мЫшления. IMHOВы имеете в виду способы, в которых количество таблиц не постоянно?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2006, 14:18 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33880088&tid=1545109]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
152ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 446ms |

| 0 / 0 |
