|
|
|
Справочник 110 000 элементов - кинте плиз пример ускорения работы с таким ↓ (длинная ветка 18.06.2009 09:12) |
☑ | ||
|---|---|---|---|---|
|
0
DGorgoN
16.05.09
✎
10:46
|
справочником.
Краткое описание проблемы - есть справочник со 110 000 элементов - при подборе тормозит просто ужасно, причем даже если получаем простой список товаров - без остатков и проч. Знаю по поиску - народ уже боролся с этой проблемой. Только заканчивались ветки как то не очень. Буду признателен за оказанную помощь.. |
|||
|
1
DGorgoN
16.05.09
✎
10:49
|
Задача конечно же ускорение подбора из такого справочника..
Зы - пробовал простую таблицу значений на форме - поиск даже по ней из такого громадного количества элементов очень медленый.. |
|||
|
2
ДенисЧ
16.05.09
✎
11:00
|
ищи, где тормозит, что тебе ещё посоветовать...
|
|||
|
3
DGorgoN
16.05.09
✎
11:01
|
(2) 1с просто томрозит и все - скуль работает просто обалденно, машина у него шикарная, сеть не забитая.
Зы - если в справочнике 30 000 элементов - то все нормально.. |
|||
|
4
DGorgoN
16.05.09
✎
11:01
|
вот такие вот и грабли..
|
|||
|
5
Обработка
16.05.09
✎
11:02
|
Любопытно а что за спраочник если не секрет?
|
|||
|
6
DGorgoN
16.05.09
✎
11:03
|
(5) Товары
|
|||
|
7
ildus
16.05.09
✎
11:03
|
у мну на ДБФ не тормозит
|
|||
|
8
DGorgoN
16.05.09
✎
11:04
|
за база большая - 13 гигов mdf
(7) у меня тоже.. Я конечно понимаю что переход на dbf был бы решением но он к сожалению не возможен в кратчайшее время - нужно быстрое решение |
|||
|
9
DGorgoN
16.05.09
✎
11:04
|
+(8) у меня в смысле на локально компе..
|
|||
|
10
Обработка
16.05.09
✎
11:05
|
работаете с базой по сети или терминал?
|
|||
|
11
DGorgoN
16.05.09
✎
11:06
|
Короче вот такие вот грабли.
У меня есть выход - оптимизировать в 1с всё что возможно и скажем убрать часть ненужной номенклатуры - но еще хотелось бы услышать мнение гуру о прямых запросах |
|||
|
12
DGorgoN
16.05.09
✎
11:06
|
(10) терминал, однако скуль на другом сервере..
|
|||
|
13
dk
16.05.09
✎
11:08
|
форма списка тоже тормозит? или только подбор?
|
|||
|
14
Обработка
16.05.09
✎
11:08
|
(12) на соклько я понимаю прямые запросы и прочие придлуды дл ускорения работы с базой приходять в помощь в момент убработки даных или вытаскивание итогов итп. А для вытаскивания списка и отображение формы думаю нет смысла.
|
|||
|
15
DGorgoN
16.05.09
✎
11:09
|
(13) да, форма списка тоже сильно тормозит
|
|||
|
16
dk
16.05.09
✎
11:09
|
что значит тормозит? поиск по первым буквам / с иерархией или без / простой скроллинг списка? ...
|
|||
|
17
DGorgoN
16.05.09
✎
11:10
|
(16) поиск по первым буквам / с иерархией / простой скроллинг списка
|
|||
|
18
ДенисЧ
16.05.09
✎
11:10
|
(17) Отладчиком мерял скорости?
|
|||
|
19
DGorgoN
16.05.09
✎
11:11
|
когда на форме ведется вычисление остатков и т.п. - тормозит еще больше..
(18) нет - только визуально, отладчиком не дали - свои тонкости.. |
|||
|
20
DGorgoN
16.05.09
✎
11:12
|
(14) уже подобный вопрос задавал - мне ответили: с помощью прямых запросов - в сети искал, примеров не нашел - вот и хочу спросить гуру - что это за прямые запросы и т.п.
|
|||
|
21
DGorgoN
16.05.09
✎
11:12
|
Что такое прямые запросы применительно к 1с-вским запросам я знаю..
тут дело именно в ускорении непосредственно самого справочника |
|||
|
22
Обработка
16.05.09
✎
11:13
|
Мои соваеты.
1. Сервер базы и терминальный сервкер должны быть на высоте 2. между ними гигабитка. 3. базу индекстировать и шринковать каждый день 4. удалить все ненужные товары 5. даже если есть воможность резануть (свернуть) базу. 6. постараться боьшенство реквизитов товара вывести в отдельные подчиненные справочники. 7. если есть возможность переходить на штрх коды лучше перейти на штрихкоды. |
|||
|
23
mishaPH
16.05.09
✎
11:13
|
(19) Там кроме вычисления остатков есть еще фишка с выводом на ыорму всяких реквизитов влеженных через несколько точек. И подчиненных справочников. Копай в этом направлении
|
|||
|
24
DGorgoN
16.05.09
✎
11:14
|
(22) милая моя, было бы все так просто..
Зы не подходит |
|||
|
25
dk
16.05.09
✎
11:15
|
хз, у нас спр. контров хде-то 50 000, вроде нормально без ++ работает
первое открытие тормозит, но потом кеширует и работает шустро на скуле |
|||
|
26
Обработка
16.05.09
✎
11:16
|
(24) Меня ни разу не путали с женщиной :)
|
|||
|
27
DGorgoN
16.05.09
✎
11:17
|
(23) Тоже посмотрю, может есть чего в этом напрвалении
Зы - а у тебя какой справочник? (26) Милая моя обработочка. Ник смени.. 1. Сервак и тот и тот на высоте 2. ест-нно 3. не получится - выгрузка/загрузка занимет от 2-3 дней 4. это и собираюьс 5. см 3 6. тоже есть такой вариант 7. уже есть - но чаще нужен подбор именно через артикул.. |
|||
|
28
DGorgoN
16.05.09
✎
11:17
|
(25) Что нибудь делали такого? кста - только что вспомнил, что на скуле не вся память отжирается - может тут косяк..
|
|||
|
29
DGorgoN
16.05.09
✎
11:18
|
Вот кстати мой коллега: Какие возможны пути улучшения работы базы?
|
|||
|
30
ildus
16.05.09
✎
11:18
|
(27) пункты 1 и 3 не стыкуются между собой
|
|||
|
31
IamAlexy
16.05.09
✎
11:18
|
гы. у нас притормаживает подбор из справочника контрагентов..
правда там порядка 500000-600000 элементов. тоесть если отключить иерархический списко и набирать первые символы наименования то порядка 1-5 секунд требуется для поиска по символу... кстати все активно используемые обработки перевожу постепенно на 1с++ |
|||
|
32
mishaPH
16.05.09
✎
11:18
|
(27) Я много баз переводил с ДБФ на СКЛ. тормоза в справочниках в 99% случаев как раз в выводе вложенных реквизитов. представь листаешь ты справочник и каждый раз скл приходится обрабатывать сотни мелких запросов.
|
|||
|
33
Обработка
16.05.09
✎
11:19
|
Я не обработочка а обработка. С этим ником живу уже 5 лет есть вариант ert. Но это не важно. Убери по возможности периодические реквизит торов вообще или переведи на другой справочник.
|
|||
|
34
mishaPH
16.05.09
✎
11:19
|
+ еще вывод периодических реквизитов на форму. Это вообще пипец быстродействию
|
|||
|
35
ДенисЧ
16.05.09
✎
11:19
|
(19) Ну так и отвечай заказчику "задачу решить не могу, есть свои тонкости".
|
|||
|
36
DGorgoN
16.05.09
✎
11:20
|
(33) Как раз собираюсь переводить в другой справочник - думаю это самое быстрое что могу предложить..
|
|||
|
37
DGorgoN
16.05.09
✎
11:21
|
Просто может думал что не знаю чего нибудь нового..
Короче видимо придается на новый справочник переходить.. имхо.. |
|||
|
38
DGorgoN
16.05.09
✎
11:21
|
+(37) С ускорением его..
|
|||
|
39
Обработка
16.05.09
✎
11:22
|
что-то я не пойму. Я что отжижни отстал? Чтоб индекисроватьь и шринковать базу нужно выгружать и загружать. У меня стоит ночное задание авоматом в скуле все делатся.
|
|||
|
40
DGorgoN
16.05.09
✎
11:22
|
с заранее большой заточкой
(33) ert лучше подходит - верни назад :)))) |
|||
|
41
dk
16.05.09
✎
11:22
|
(28) скульный сервак отдельно от терминальных, связь по гигабиту
вся оперативка отдана под скуль, модель симпл, max degree parallelism = 1, awe enabled --- кстати, а сколько длина наименования в справочнике? |
|||
|
42
DGorgoN
16.05.09
✎
11:23
|
(39) Так, с этого поподробнее - что там делается на mssql (стоит 2000-й 4 сервиспак)
|
|||
|
43
DGorgoN
16.05.09
✎
11:23
|
(41) 50 длинна наименование, 50 дилнна артикул
(41) записал - в пн спрошу админа.. |
|||
|
44
dk
16.05.09
✎
11:26
|
(43) думаю mishaPH прав, про периодику и реквизиты через точку
|
|||
|
45
DGorgoN
16.05.09
✎
11:27
|
(39) ау. что там нужно делать? (я со скулем нечасто работал)
прошу ответить.. |
|||
|
46
DGorgoN
16.05.09
✎
11:27
|
(44) Это я гляну обязательно
|
|||
|
47
Обработка
16.05.09
✎
11:28
|
(42) 1. Простая команда переиндексации скульной базы 1С 2. Команда шринк базы тоже обычная я не на работе кка ззвучит не помню аа вот _1sp_DBReindex а шринк не помню. часто я просто руками делаю по утрам если пришел раншье на работу при усовии если я замечу что забыл занаие включить
|
|||
|
48
Обработка
16.05.09
✎
11:29
|
Кстаит конда все соки по ускроению базы были исчерпаны я просо стал индексировать чаще раньше допусим раз в месяц или раз в недели если делался то топерь каждую ночь
|
|||
|
49
DGorgoN
16.05.09
✎
11:30
|
(47) я к тебе в пн стукну с твоего позволения
|
|||
|
50
DGorgoN
16.05.09
✎
11:31
|
а размер mdf у тебя какой? у меня 13 гиктар - как быстро сделает не можешь сказать?
|
|||
|
51
Обработка
16.05.09
✎
11:33
|
(49) без проблем, в скуль агенте делаешь задание и ставишь на ночь допустим в 5 00 По перенидексации вот всего лишь одна строчка _1sp_DBReindex
|
|||
|
52
mishaPH
16.05.09
✎
11:33
|
а размер базы вообще никакой роли не играет.
|
|||
|
53
DGorgoN
16.05.09
✎
11:33
|
ок, спасибо..
|
|||
|
54
Обработка
16.05.09
✎
11:35
|
4 гегтара перенидексация 8 -11 минут шринк 5-7 минут ну от сервака заисит конечно
|
|||
|
55
DGorgoN
16.05.09
✎
11:35
|
(54) ок, в пн стукну.. еще раз спасибо :)
|
|||
|
56
Обработка
16.05.09
✎
11:38
|
(52) как не играет роль? играет еще как. время перендексации у меня растет. Уже наблюдаю давно. гоигова база за пару минут, база в 2-3 гиг 4-7 минут итп. Ну от строктуры данных тоже зависит ясное дело.
|
|||
|
57
Холст
16.05.09
✎
21:30
|
(0) начни с банального Select From
|
|||
|
58
mishaPH
17.05.09
✎
11:54
|
(56) Я никогда переиндексаций и шринков не делал на базах. Смысл сих действий не понятен. лог файл никогда не рос при симпл модели. переиндексацию делать вообще нафига?
|
|||
|
59
ДенисЧ
17.05.09
✎
12:03
|
(58) Для укорения выборок.
|
|||
|
60
mishaPH
17.05.09
✎
12:40
|
(59) Переиндексация?
|
|||
|
61
ДенисЧ
17.05.09
✎
12:42
|
(60 угу
|
|||
|
62
DimG
17.05.09
✎
13:25
|
Переходите на восьмерку. Там это реализовано (С).
|
|||
|
63
Evg
17.05.09
✎
14:28
|
(62) у вас если в машине зеркало заднего вида грязным стало вы машину меняете ?
|
|||
|
64
Азат
17.05.09
✎
15:05
|
(54) у меня реиндексация около двух часов длится, МДФ - 10 гиг...
|
|||
|
65
v_rtex
17.05.09
✎
18:29
|
1. убрать из формы списка значения неопределенных и строк неограниченной длины
2. если не поможет: убрать все все вычисляемые поля |
|||
|
66
Обработка
18.05.09
✎
07:57
|
(58) на счте того что шринк не ускоряет работу базы согласен но частая переиндексация восстанавливает рыхлые индексы что дает росту скрости работы базы. Конечно рост может быть мизерной.
(0) Вот команда шринка если интересно. Кстати ее автоматом можно сгенерть DBCC SHRINKDATABASE (N'имябазы', 0) |
|||
|
67
FAM
18.05.09
✎
08:11
|
(0) в качестве формы подбора используй табличное поле и прямые запросы из 1С++.
Для быстрого выбора номенклатуры в документах я бы порекомендовал поля быстрого выбора от Олега Садовникова (http://www.rikcenter.ru/download/Demo_RiK.rar - демо-конфа, в которой все это реализовано) |
|||
|
68
DGorgoN
18.05.09
✎
08:37
|
(67) ты это юзал?
(66) конечно интересно :) |
|||
|
69
Нуф-Нуф
18.05.09
✎
08:38
|
видел форму подбора написанную на дельфи с прямым запросом к базе. при весе базы 110гб - полет нормальный
|
|||
|
70
skunk
18.05.09
✎
08:42
|
что так часто удаляете/добавляете элементы в данный спарвочник аб ы шринком лечить?
|
|||
|
71
FAM
18.05.09
✎
08:46
|
(68) да, юзал, иначе бы не предлагал. Форму для справочника немного под себя переделал (морду лица, в основном). Быстрый выбор практически в первозданном виде затащил в конфу. Активно использую при выборе фильтров в отчетах и при выборе реквизитов в документах (причем, поиск не только по наименованию, но и по артикулу/коду, что в некоторых ситуациях на порядок быстрее)
|
|||
|
72
DGorgoN
18.05.09
✎
08:55
|
(70) Вот такие вот траблы - пока все что смотрел - было боле менее, в форме переод. рекв. не используется, расчет остатков вроде сильно тормозить не должен
(71) Как раз поиск по артикулу и интересует.. |
|||
|
73
DGorgoN
18.05.09
✎
08:56
|
(69) Я это тоже уже видел что ты видел. А кто это делал? ты сам?
|
|||
|
74
DGorgoN
18.05.09
✎
08:59
|
(71) Посмотрю, авось поможет..
|
|||
|
75
Нуф-Нуф
18.05.09
✎
09:00
|
(73) неа.
|
|||
|
76
DGorgoN
18.05.09
✎
09:01
|
Конечно можно сделать и нестандартный ход - сам уже думал на шарпе переписать - но может есть стандартные входы/выходы..
|
|||
|
77
Дуб
18.05.09
✎
09:01
|
(0) а зачем тебе вообще форма списка?
(73) для регистров делал. На C#. Быстро. |
|||
|
78
DGorgoN
18.05.09
✎
09:06
|
(77) Манагерам очень удобно товар подбирать
|
|||
|
79
Дуб
18.05.09
✎
09:09
|
(78) а они знают, что они подбирают?
Я к тому, что проще сделать редуцируемый список: перед выбором обязательно пускай хоть один критерий введут. А потом уж усекать его по дальнейшим условиям. Ну или если ни одного критерия нет - пускай мирятся с тормозами. |
|||
|
80
DGorgoN
18.05.09
✎
09:10
|
(79) Дык неужели сам список так тормозить может - у нас 15000 - все летает, правда и базы ДБФ..
|
|||
|
81
Дуб
18.05.09
✎
09:13
|
(80) ну, во-первых, всё-таки есть разница - 15К или 110К..
А список - да. Может тормозить. На самом деле - форма списка при грамотной работе манагеров ВООБЩЕ, как таковая, не нужна. Это просто привычка, которой мы привыкли потакать. У тебя сейчас есть вариант с неё соскочить ;) |
|||
|
82
DGorgoN
18.05.09
✎
09:17
|
(81) Возможно и привычка - но всё же 110 тыс. элементов это уже смертельно по твоему?
|
|||
|
83
Дуб
18.05.09
✎
09:18
|
(82) по-моему, это просто много. Смертельно или нет - я не знаю: не было у меня столько.
|
|||
|
84
Mikeware
18.05.09
✎
09:19
|
1.А что говорит товарищ профайлер?
2.включи на сервере автостатистику 3.Как вариант - закрепи таблицу с справочником в памяти сервера.... |
|||
|
85
DGorgoN
18.05.09
✎
09:20
|
(84) 3-й вариант можно в студию? заранее благодарен.
да, кстати как заставить скуль видеть всю оперативу? |
|||
|
86
Mikeware
18.05.09
✎
09:26
|
(85) 1. DBCC PINTABLE
2."всю оперативу" - это сколько и какой сервер стоит? |
|||
|
87
DGorgoN
18.05.09
✎
09:27
|
(86)
1) ок, спасибо - посмотрю.. 2) 2003 винда, скуль 2000 сп 4, имеется 8 гигов, отжирает только 4 |
|||
|
88
Mikeware
18.05.09
✎
09:29
|
пля. скуль 2000 сп 4 - стандарт или ентерпрайз?
|
|||
|
89
Обработка
18.05.09
✎
09:35
|
(87) С самого начала если бы дал полную картину может умные ребята ответили бы и предложили бы более приемлемые варианты применительно к вашему случаю.
Итак озвучь народу еще раз если не трудно 1.Точные характеристики сервера базы. Разделена ли база и система на разные диски? А лог файл базы где? 2. Точные характеориститки сервера терминалов 3. объем базы 4. количество юзеров? есть ли юзеры вне терминала? 5. какая конфа вообще 6. за какой период база |
|||
|
90
Mikeware
18.05.09
✎
10:01
|
(97) Твои вопросы - вторичны....
|
|||
|
91
Mikeware
18.05.09
✎
10:02
|
Тьфу, (90) - к (89)
|
|||
|
92
DGorgoN
18.05.09
✎
10:07
|
(88) энтерпрайз
|
|||
|
93
DGorgoN
18.05.09
✎
10:08
|
(89) Точные хар-ки серв.:
Сервер базы данных ОС: Win2003Srv, MS SQL (2000 sp4) Проц.: 2*Xeon3000 ОЗУ: 8Гб, исп. только половина ~4Гб С дисковой подсистемой SCSI: RAID 2*1.0 Система RAID 4*1.0 Массив RAID 4*1.0 Массив Нагрузка до 90 пользователей Преимущественно база данных торговли и производства. |
|||
|
94
DGorgoN
18.05.09
✎
10:16
|
3) 13 Гб
4) порядка 60-ти, таких нет 5) очень переделанная тис 6) 8 лет :)) |
|||
|
95
vde69
18.05.09
✎
10:20
|
(93) предложу банально посмотреть http://www.infostart.ru/projects/2831/
после результатов буду советы давать, а пока только 1 - отключить все вычисляемое на форме. |
|||
|
96
mishaPH
18.05.09
✎
10:24
|
(93) первым делом сделай так, чтобы съедало более 4х гиг.
|
|||
|
97
mishaPH
18.05.09
✎
10:25
|
||||
|
98
Mikeware
18.05.09
✎
10:26
|
(92) Если энтерпрайз - должен хавать всю память. Исключение - до какой-то конкретно сборки сервиспака видит ровно половину имеющейся памяти - есть статья в КБ мелкомягких. На память не помню, поищи...
--- Профайлером пытал? |
|||
|
99
mishaPH
18.05.09
✎
10:30
|
(98) даже в ентерпрайзе надо включать AWE по любому. иначе не использует всю.
|
|||
|
100
Mikeware
18.05.09
✎
10:40
|
Если сожрал 4 - АВЕ уже включено....
|
|||
|
101
mishaPH
18.05.09
✎
10:41
|
(100) кстати да. видимо ограничение стоит на 4 гига.
|
|||
|
102
shaggyboy
18.05.09
✎
10:42
|
(0) профайлером запросы на сервер при подборе отследи и нам дай.
|
|||
|
103
Shaman100M
18.05.09
✎
10:46
|
(0) поиск по первым буквам - заменить на поиск по реквизиту через кнопку с горячей клавишей с вводом значения в диалоге/в реквизите формы, - работает точно быстрее. (такой же поиск по первым буквам - шаманить надо).
Если причина в размере справочника, по ускорению скроллинга - может, сделать типа справочника-прайса, (одно поле - ссылка на товары) + 1-2 поля для поиска? Правда, придется его обновлять. |
|||
|
104
Mikeware
18.05.09
✎
10:50
|
(102) До сиквельного профайлера надо сначала попытать штатный....
(103) У Садовникова есть решение |
|||
|
105
Shaman100M
18.05.09
✎
10:51
|
+ (103) Если дело не в размере, - это просто проверить: уменьши в копии кол-во записей в товарах (Удалить(1)) - быстрее будет работать?
|
|||
|
106
DGorgoN
18.05.09
✎
11:29
|
ок, спасибо!
|
|||
|
107
Собеседник
18.05.09
✎
11:38
|
(97)+100
200 тыс. элементов - тормозов нет. - в списке нет никаких доп полей кроме непериодических реквизитов - все вычисляемые поля только для текущего элемента "унизу" |
|||
|
108
Собеседник
18.05.09
✎
11:39
|
(107)+
для реквизитов поиска: отбор+сортировка |
|||
|
109
DGorgoN
18.05.09
✎
11:44
|
(107) ок - буду иметь ввиду..
|
|||
|
110
Nordok
18.05.09
✎
11:45
|
150 тыс., ТиС спр. номенклатуры, летает... SQL
|
|||
|
111
Обработка
18.05.09
✎
11:46
|
Лично я бы начал с урезанрия базы. Обычно руководсву для анализа и сравнения хватает даные за последние 2-3 года. По возможности урезал бы базу до начала 9 года или хотя бы отсавил бы 3 последних года. После этого удадлил бы неиспользуемые товары. ДУмаю при урезании базы кол-во елементов может существенно сократиться. От 20-60% запрсто.
|
|||
|
112
DGorgoN
18.05.09
✎
11:47
|
(111) Это я тоже укажу руководству. 8 лет в 1-й базе это много..
|
|||
|
113
DGorgoN
18.05.09
✎
11:47
|
Еще раз всем спасибо за участие
(110) Вычисляемые поля есть? |
|||
|
114
Mikeware
18.05.09
✎
11:47
|
(111) Плохо "ДУмаешь". Размер базы тут влияет только косвенно
|
|||
|
115
Mikeware
18.05.09
✎
11:48
|
(113) Что сказал товарищ профайлер? :-)
|
|||
|
116
DGorgoN
18.05.09
✎
11:48
|
(114) Это позволит "убить" 20% точно номенклатуры..
|
|||
|
117
mishaPH
18.05.09
✎
11:49
|
(113) все вычисляемые поля в инф строку и только для 1 элемента.
И то. я в ТЗ запихивал все вычисляемые параметры и реквизиты. И даже при повторном позиционировании на элемент уже ничего не вычислялось |
|||
|
118
Mikeware
18.05.09
✎
11:49
|
(116) Ну, убъешь 20%, и что? :-)
|
|||
|
119
DGorgoN
18.05.09
✎
11:49
|
(115) Не смотрел я его пока - база в другом месте, я как сторонний наблюдатель - пришел, посмотрел, сделал и обратно к себе. Завтра вот набег делать буду..
|
|||
|
120
vde69
18.05.09
✎
11:50
|
(111) фигня все это, у меня была база на 8ке которая на 20тыс ном тормозила, а была база > 200тыс номенкл (тис) которая работала.
7.7 нормально тянет примерно до 500тыс в справочнике, дальше проблеммы с памятью у клиентов начинаются |
|||
|
121
DGorgoN
18.05.09
✎
11:50
|
(117) в смыслеты ты данные кэшируешь что-ли?
|
|||
|
122
DGorgoN
18.05.09
✎
11:51
|
(120) Хм.. уже яснее. Значит все таки возможно :)
|
|||
|
123
vde69
18.05.09
✎
11:52
|
(119) результаты теста покажи и формат справочника (из файла структуры) с указанием какие поля отображаються и в каком порядке, и список вычисляемых
|
|||
|
124
mishaPH
18.05.09
✎
11:52
|
(121) ну можно сказать и так.
А то заходит оператор в справочник и начинает лазить туда-сюда что-то подбирая. Нафига системе 2 раза что-то считать? Позиционирование на элементе - поиск в ТЗ элемента. Если нет то рассчет и в ТЗ все что посчитал и периодические реквизиты. Если есть то и из ТЗ берем Затем на форму вывел. |
|||
|
125
DGorgoN
18.05.09
✎
11:53
|
(124) ок, попробую даный способ.
(123) ок - как толкьо там буду. тест сделаю и выложу. если аська есть (в карточке нет) обязательно стукну |
|||
|
126
mishaPH
18.05.09
✎
11:53
|
+ 124 и не только рассчетные данные, но и все реквизиты обобенно сильно вложенные через точку и далее.
Из ТЗ и памяти клиента по любому будет быстрее выборка чем из базы с сервера |
|||
|
127
Mikeware
18.05.09
✎
11:55
|
(117) Для вычисления вычисляемых параметров можно и сиквельные функции написать :-)
|
|||
|
128
mishaPH
18.05.09
✎
11:55
|
Если данные не сильно критичны во времени, то такая ТЗ может быть и глобальная.
Например курсы валют на дату. В стандартной торговле понатыканы везде. т.к. идет постоянные пересчет цен из базовых валют и проч. В доках когда большая табличная часть тоже тормоза убирает |
|||
|
129
mishaPH
18.05.09
✎
11:56
|
(127) это уже следующий этап быстродействия. Но сиквельный запрос - это всеравно запрос на сервер и будет медленнее чем из ТЗ уже посчитанного
|
|||
|
130
Mikeware
18.05.09
✎
11:57
|
(128)стандартная клюшечная периодика - зло!
|
|||
|
131
Feanor
18.05.09
✎
11:57
|
(97) если в дбф-е не тормозит - см. (8), а тормозит в скуле, то причем тут вычисления на форме? Мож я просто чего-то не понимаю?
|
|||
|
132
Mikeware
18.05.09
✎
11:58
|
(129) Ну, сиквел неплохо кэширует такие вещи...
|
|||
|
133
Обработка
18.05.09
✎
11:58
|
(114) Не только так думаю я, так и подымал производительность работы базы в случае когда другие возможности исчерпаны ну такие как:
1. апгрейд железа 2. перевод на терминалы 3. создание уриб чтоб уменьшить нагрузку на количество юзеров. 4. оптимизация кода |
|||
|
134
vde69
18.05.09
✎
11:59
|
(126) я делал прикольную вещь:
обработчик для всех вычисляемых полей ставил через доп функиюОбработчикОжидания через 1 сек все расчитывал. Тем самым если пользователь вводит буквы быстро, то ничего не обновлялось, а по окончании ввода обработчик срабатывал |
|||
|
135
DGorgoN
18.05.09
✎
11:59
|
(134) Да, это я тоже уже прочитал (где то поиском нашел) - спасибки за идею, думаю поможет!
(131) у меня локально не тормозит - но у меня не вся база |
|||
|
136
DGorgoN
18.05.09
✎
12:00
|
(133) железо вроде неплохое, терминал уже есть. щас код оптимазю и сам скуль
|
|||
|
137
mishaPH
18.05.09
✎
12:00
|
(130) ну вот и приходится обходить.
(131) Дело в том, что все вычисления, выборки периодики и вложенные на скл отрабатываются запросиками. много мелких .вот и тормоза. (132) да но сиквел сервер еще должен отработать запрос, передать по сети. и т.д. Пусть клиент работает. СКЛ серверу есть чем занятся и без этого |
|||
|
138
DGorgoN
18.05.09
✎
12:01
|
ок. все учел, если что по отдельным вопросом буду теребить по почте или аське.
еще раз благодарен. Как тесты будут - отпишусь |
|||
|
139
vde69
18.05.09
✎
12:01
|
(131) если локально не тормозит, то 99% что поможет мой скрипт
|
|||
|
140
mishaPH
18.05.09
✎
12:01
|
(134) да тут путей творчества много.
|
|||
|
141
DGorgoN
18.05.09
✎
12:03
|
(140) Буду все по возможности делать.. :)
|
|||
|
142
Mikeware
18.05.09
✎
12:04
|
(137)
1.Увы. Не захотели, уррроды, сделать 7.8 :-((( 2. Особенно если паралеллизм включен 3. Надо смотреть загрузку сервера. |
|||
|
143
DGorgoN
18.05.09
✎
12:05
|
(142) в том и грабли что вроде как сервак не очень загружен
|
|||
|
144
Mikeware
18.05.09
✎
12:09
|
(143) Не забывай, что у тебя не "сервер и клиенты", а _система_. Поэтому нагрузка должна быть сбалансирована.
|
|||
|
145
Формат строки
18.05.09
✎
12:09
|
Выше не читал, если повторюсь извиняйте
Год назад столкнулся с похожей проблемой (обсуждалось тут Медленно работает подбор номенклатуры Номенклатуры набралось на 150т., база на SQL. Создал свою обработку подбора, список номенклатуры выводил в ТЗ и только ту, что была на остатках (т.к. быстрый подбор был необходим для реализации товара) |
|||
|
146
mishaPH
18.05.09
✎
12:09
|
(142) Если бы исправили все что хотели и все внешние компоненты включили . то нафига была бы 8ка.
|
|||
|
147
Обработка
18.05.09
✎
12:16
|
(145) А ка к у тебя в ТЗ попадает новые элементы спр во время работы?
|
|||
|
148
FAM
18.05.09
✎
12:16
|
Используйте прямые запросы + табличное поле из 1С++ и никакой ТЗ не надо...
Получение в результирующем запросе не агрегатных объектов, а простых типов данных позволяет работать быстро и с выводом реквизитов через несколько "точек". По-поводу периодики: давно отказался от типового хранения периодики в _1SConst. Там у меня сейчас хранятся только значения констант. Вся периодика лежит в отдельных таблицах, что на порядок ускоряет получение периодических реквизитов. З.Ы. (146) Вот мне 8-ка и не нужна :) |
|||
|
149
Mikeware
18.05.09
✎
12:19
|
(148)Хм. Если у тебя получаются данные "простых типов", то какой нафиг "вывод через несколько точек"???
|
|||
|
150
mishaPH
18.05.09
✎
12:19
|
(148) пряме запросы и 1С++ не всегда возможно использовать да и не все это могут. Но оптимизировать стандартными средствами применив кэширование и выдавая инфу только по нужному элементу - это вполне возможно.
|
|||
|
151
FAM
18.05.09
✎
12:21
|
(149) А кто мешает в запросе использовать несколько джоинов, выстроенных друг за другом? И в итоге показывать наименование последнего заджоинного справочника в цепочке.
|
|||
|
152
Формат строки
18.05.09
✎
12:22
|
(147) в этом не было необходимости
быстрый подбор нужен был только при продажи товара. Обработка вызывалась по стандартной кнопке "Подбор" после чего формировался список имеющейся номенклатуры. |
|||
|
153
FAM
18.05.09
✎
12:26
|
(150) я вообще не понимаю, как можно работать быстро в 1С при 13 Гб базы без использования прямых запросов... тут достаточно сформировать отчет на прямых запросах и сравнить время выполнения с типовым... экономия времени сотрудников существенна.
|
|||
|
154
Mikeware
18.05.09
✎
12:27
|
(151) Ну это же не "через несколько точек" :-)
|
|||
|
155
vde69
18.05.09
✎
12:31
|
(153) а я не понимаю зачем нужна база в 13 гиг ???
если база большая надо структуру методанных оптимизировать а не запросы, надо бороться с пречиной а не со следствием! лично я не разу не использовал 1с++ и прямые запросы, все делал штатно. не обижайся, но это похоже на спор 12 летних, "а мне в думе дали такую пушку, что мочу всех одним кликом". Я не против прямых запросов, я за то, что-бы ПЫТАТСЯ обойтись стандартными методами, и только когда уже ничего не помогло - стрелять из пушки. |
|||
|
156
FAM
18.05.09
✎
12:32
|
(154) Ну давай обзовем "через несколько джоинов". Главное, что результат тот же, тока существенно быстрее, так как нет выполнения на каждую запись результата цепочки вызовов ХП _1sp_SCххх_ByID.
|
|||
|
157
DGorgoN
18.05.09
✎
12:36
|
(152) поиск по ТЗ тоже вещь не быстрая, хоть и в данный момент быстрее чем справочник - но я думаю справочник нужно потимазить
|
|||
|
158
DGorgoN
18.05.09
✎
12:36
|
пооптимизировать для начала..
|
|||
|
159
Mikeware
18.05.09
✎
12:36
|
(153) База за 3 года - 22Г. Излишки обрезаются.... А хранить менее 3 лет (в основной базе) - некошерно :-) Хотя можно выделить в "отчетный узел", но...
|
|||
|
160
FAM
18.05.09
✎
12:41
|
(155)
1. У меня документооборот небольшой, но с начала года база 4,5 Гб. Так что к концу года до 9-10 Гб вырастет. База с 2004 по 2008 год - 23 Гб. 2. Я согласен, что нужно бороться именно с причиной... а причиной в данном случае является то, что для СКЛ версии 1С принципы работы с данными как для ДБФ используются. Ради интереса посмотри что творится в профайлере при работе со списком справочника или при выводе отчета. Вся инфа выбирается курсором + для каждой записи выпоняется ХП для получения агрегатного типа данных. 3. Я не обижаюсь, но зачем трудиться, чтобы сократить время выполнения отчета/проведения документа на 10%, когда за то же время можно написать прямой запрос, который сократит это время на 90% (иногда и больше) |
|||
|
161
vde69
18.05.09
✎
13:05
|
(160)
2. я знаю как все это работает физически :) просто в 90% случаев можно обойтись штаными методами 3. специалист способный после этого поддерживать такую базу стоит гораздо дороже чем штатный и найти его сложнее. Нельзя себя встраивать в систему! |
|||
|
162
DGorgoN
18.05.09
✎
13:07
|
(161) вот и пытаюсь сделать пока штатными :)
|
|||
|
163
Mikeware
18.05.09
✎
13:23
|
(161) Ну, нормально написанный и откомментированный код "поддерживать" не нужно. В конце концов, ничего не мешает "включить штатную функцию" (у меня - установив единичку в соответсвующей константе). Ничего, кроме возникнущих тормозов... :-)
Опять же, нормальный программист (а "прямые запросы" не отличаются от снеговиковых, только документация поскуднее) стоит денег (и разберется и с "прямыми"), а дятел с твоими заморочками "штатными способами" разберется точтно так же, как и с "прямыми" - т.е. никак. |
|||
|
164
Обработка
18.05.09
✎
13:45
|
(163) Я тоже сторонник штатных методов. Хотя снимаю шляпу над создателем нештатных примочек к 1с77. Ну и тем кто освоил нештатные методы и применяет в жизни респкет и уважуха. Сам никогда не использовал но наслышан.
|
|||
|
165
Mikeware
18.05.09
✎
13:47
|
(164) граница между "штатным" и "нештатным" весьма условна....
|
|||
|
166
Обработка
18.05.09
✎
13:50
|
(165) Все что фирма 1 С приняло и документиовано хоть как-то есть штатно
|
|||
|
167
Sorm
18.05.09
✎
13:51
|
(0) А разбить по группам(кодам, признакам) никак? Я от SQL иду - первоначальный вариант нечто вроде "select ... from ...", а "по группам" будет "select ... from ... where 'группа = ...'". Побыстрей, все-таки. Как-то сам спасался таким вот.
|
|||
|
168
FN
18.05.09
✎
13:52
|
во всей ветке меня насторожила фраза расчет "остатков вроде сильно тормозить не должен" в (72).
(0) Остатки присутствуют на форме? в списке на каждый элемент? если да - то покажи код функции, которая считает остаток. |
|||
|
169
DGorgoN
18.05.09
✎
14:06
|
(168) Сейчас к сожалению нет возможности показать - могу только от себя добавить - там все ок
|
|||
|
170
DGorgoN
18.05.09
✎
14:06
|
большей частью
|
|||
|
171
Mikeware
18.05.09
✎
14:46
|
(166) Криворуких пейсателей конфигураций в 1с тоже много. Что, их перлы брать как стандарт? Опять же, не помню, чтоб "метаданные" были документированы настолько, насколько они используются в типовых (пришлось найти ЖКК и убедиться). Однако в коде типовых- используются.
И наоборот, доступ к данным минуя механизмы 1с не использует недокументированных возможностей. А подключение этих механизмов - с помощью документированной и официальной "технологии внешних компонент". так что граница ооочень условна |
|||
|
172
Sadovnikov
18.05.09
✎
14:48
|
(155) А что, 13 гигов - это много? Если, конечно, не ларек автоматизирован.
Вот пример - 2.5 года работы - чуть больше 150 гигов. |
|||
|
173
mishaPH
18.05.09
✎
14:56
|
(172) Да фигня это размер скл базы. тем более 13 гиг.
(168) быстро работает на дбф получение остатков на ТА. На СКЛ он медленее, но в 99% случаев тормоза не остатки - а безконтрольный и необоснованный вывод на форму в таблицы вложенных реквизитов и главное периодических. На дбф не тормозит. а в СКЛ попа да еще когда много пользователей ибо сервер захлебывается на мелких запросах курсорами причем. Использование прямых запросов дает ++ как правило если народ работает на клиентах а не на терминале. тут практически разница только на сложных запросах выборках по нескольким регистрам и с завернутыми группировками да и то на очень больших базах. А долбить прямыми запросами выборки реквизитов и периодики в случае автора не будет быстрее практически |
|||
|
174
Mikeware
18.05.09
✎
14:57
|
(173) О чем и речь. В первую очередь пытать профайлера.
|
|||
|
175
FAM
18.05.09
✎
15:47
|
(172) как такие объемы бэкапите? только дифференцальным бэкапом? а если полным, то сколько времени он делается?
|
|||
|
176
BuHu
18.05.09
✎
15:56
|
у меня тоже за сотню элементов номенклатуры , тоже подбор тормозил. Завел доп. спр. для подбора в доках , в справочнике два реквизита товар и бренд(что б сортировку можно было по нему делать), настроил синхронизацию и вот уже полгода ни каких проблем.
|
|||
|
177
Смотрящий от 1С
18.05.09
✎
16:04
|
(0) У меня справочник контрагенты около 100000, договора несколько сотен тысяч. Нашел решение http://www.softpoint.ru/article_id55.htm
Написано еще для радуги, но переделать для 1с++ 15 минут. Поиск контрагента 5 секунд, договора до 20 секунд |
|||
|
178
Смотрящий от 1С
18.05.09
✎
16:09
|
+(177)
вот уже переделанный код Процедура НайтиКонтрагента() Перем Запрос, ТекстЗапроса, СписокВыбора; Перем ВнутрИД, ТекВыбор; Перем ВремСтрокаПоиска; рс = СоздатьОбъект("ODBCRecordset"); ВремСтрокаПоиска="%"+СокрЛП(СтрокаПоиска)+"%"; ВремСтрокаПоиска=СтрЗаменить(ВремСтрокаПоиска," ","%"); СписокВыбора=СоздатьОбъект("СписокЗначений"); Если ПустаяСтрока(СтрокаПоиска)=0 Тогда ТекстЗапроса = "-- qryMaker:Отчет1.2009.02.13.16.20.31 |SELECT Контрагенты.ID [Ссылка $Справочник.Контрагенты] | , Контрагенты.ISMARK ПометкаУдаления | , Контрагенты.DESCR Наименование |FROM $Справочник.Контрагенты AS Контрагенты With (NOLOCK) | WHERE (RTRIM(DESCR) LIKE '"+ВремСтрокаПоиска+"') AND Контрагенты.ISMARK = 0 |ORDER BY Контрагенты.DESCR"; тз = рс.ВыполнитьИнструкцию(ТекстЗапроса); тз.ВыбратьСтроки(); Пока тз.ПолучитьСтроку() >0 Цикл ТекЗнач=тз.Ссылка; Если ТекЗнач.ЭтоГруппа()=0 Тогда СписокВыбора.ДобавитьЗначение(ТекЗнач); КонецЕсли; КонецЦикла; //**************************************************************************** Если СписокВыбора.РазмерСписка()>0 Тогда Если СписокВыбора.ВыбратьЗначение(ТекВыбор,,,,1)=1 Тогда АктивизироватьОбъект(ТекВыбор); КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
|
179
Sadovnikov
19.05.09
✎
07:43
|
(178)
1. Зачем выводить Контрагенты.ISMARK ПометкаУдаления, если в условии стоит Контрагенты.ISMARK = 0? 2. Зачем делать RTRIM(DESCR)? 3. Зачем выводить [Ссылка $Справочник.Контрагенты] и Контрагенты.DESCR Наименование? 4. Зачем на клиенте проверять Если ТекЗнач.ЭтоГруппа()=0 Тогда, если это можно сделать в запросе? 5. Зачем результат запроса вовзращается в ТЗ, если можно сразу в список значений? Ну как-то так... |
|||
|
180
los_hooliganos
19.05.09
✎
07:48
|
(179) Гораздо интереснее кто такой qryMaker, раз поволяет такие запросы клепать.
|
|||
|
181
los_hooliganos
19.05.09
✎
07:50
|
(180)А... я кажись понял. Странно.
|
|||
|
182
Sadovnikov
19.05.09
✎
07:50
|
(180) А кто такой qryMaker?
|
|||
|
183
los_hooliganos
19.05.09
✎
07:51
|
(182) Консоль запросов для 1с++
Я ею тоже пользуюсь. Хотя потом все равно руками что-то правлю. |
|||
|
184
Mikeware
19.05.09
✎
07:51
|
(180),(182) Консоль запросов И.Берездецкого...
|
|||
|
185
vde69
19.05.09
✎
09:50
|
интересно что там у автора?
|
|||
|
186
DGorgoN
19.05.09
✎
09:53
|
(185) Пытаюсь оптимизировать скуль. Щас идет сбор счетчиков, контактирую с одним мистянином - все логируется, потом отпишусь..
|
|||
|
187
pvase
19.05.09
✎
10:17
|
Переделать форму на ТабличноеПоле (1С++). Также организовать нормальную структуру по родителям, запретить оключать иерархию. Остатки считать сразу в момент выборки данных.
|
|||
|
188
pvase
19.05.09
✎
10:19
|
(0) Как вариант сразу не переделывая на 1С++:
1 - Убрать лишние колонки, оставить наименование и код. 2 - Убрать все функции с формы 3 - Убрать все колонки с вызовом функций. Протестировать, если помогло - искать в какой функции тормозит. |
|||
|
189
DGorgoN
19.05.09
✎
10:20
|
(187) @запретить оключать иерархию@ - не прет по определению
а есть у тебя варианты подобных реализаций? и опыт? |
|||
|
190
DGorgoN
19.05.09
✎
10:21
|
(188) Это тоже пытаюсь сделать
|
|||
|
191
orefkov
19.05.09
✎
10:28
|
(187)
Поддерживаю. Кроме отключения иерархии. Табличное поле легко переварит любое количество элементов, с которыми может работать скл-сервер. Единственно - быстрый поиск может подтормозить, но тоже решаемо. |
|||
|
192
Sadovnikov
19.05.09
✎
10:29
|
(189) "не прет по определению" - почему?
|
|||
|
193
orefkov
19.05.09
✎
10:31
|
(189)
Спрашивай на http://www.1cpp.ru/forum, у людей есть уже готовые разработки для справочников, журналов документов, ТЧ документов и тп. Причем со всей обвязкой - контекстными меню, панелью команд и тп. |
|||
|
194
Sadovnikov
19.05.09
✎
10:31
|
(193) Ага, есть :)
|
|||
|
195
mishaPH
19.05.09
✎
10:33
|
(193) Да все это замечательно, вот только всетаки сначала надо ресурс оптимизации кода 1С исчерпать а потом на 1С++ идти
|
|||
|
196
DGorgoN
19.05.09
✎
10:35
|
(191) ок
(192) при подборе очнь важно в кратчайщие сроки подобрать из всего списка заданные позиции (193) спасибо за ссылку (195) сначал думаю скуль, потом стандартные, потом уже с++ |
|||
|
197
MrRustam
19.05.09
✎
10:42
|
(0) у меня справочник номенклатура 2 088 322 элементов все летает. SQL+терминал. Убрал все итоги из списка. В списке только код и наименование.
|
|||
|
198
orefkov
19.05.09
✎
10:44
|
(197)
Болид формулы 1 тоже быстро ездит, однако картошку возить на нем неудобно. |
|||
|
199
DGorgoN
19.05.09
✎
10:45
|
(197) афигеть..
А сервак какой? |
|||
|
200
vde69
19.05.09
✎
10:46
|
DGorgoN вчера скрипт отработал? чего показал?
|
|||
|
201
DGorgoN
19.05.09
✎
10:48
|
(200) Сегодня работает. на 2 часа его админ запустил, жду результатов - через полтора часа будут результаты
|
|||
|
202
vde69
19.05.09
✎
10:50
|
(201) его запускать надо во премя пиковых нагрузок пользователей, иначе просто смысла нету
|
|||
|
203
DGorgoN
19.05.09
✎
10:52
|
(202) Вот как раз самое время!
|
|||
|
204
MrRustam
19.05.09
✎
10:59
|
(198) каждому свое. гдето прибавили гдето убавили - это назвывается кастомизация системы согласно требованиям.
(199) двухголовый ксеон 3.4, ОЗУ 4 гига, Винда 2003 server + SP2, SCSI вроде как RAID5 - точно не помню у айтишников надо уточнять. В терминале одновременно до 40 человек. Конечно не всегда бывает все гладко, но большая часть времени юзеры работают без особых тормозов |
|||
|
205
DGorgoN
19.05.09
✎
11:07
|
(204) хм, это приблизительно как и в моей ситуации. а оптимизация скуля производилась? можешь описать?
|
|||
|
206
Sadovnikov
19.05.09
✎
11:08
|
(205) Вот просто интересно - а что ты в скуле собрался оптимизировать?
|
|||
|
207
DGorgoN
19.05.09
✎
11:09
|
(206) Хотя бы разнести журнал транзакций и пачтики поставить, что-бы он 8 метров хавал заместо 4-х
|
|||
|
208
DGorgoN
19.05.09
✎
11:09
|
это как минимум..
|
|||
|
209
DGorgoN
19.05.09
✎
11:11
|
Ну и еще по результатом теста счетчиков
|
|||
|
210
selenat
19.05.09
✎
11:12
|
Не читал ветку, много б у к а ф.
Советовали уже при получении данных делать невидимым табличное поле, а потом Видимость = 1? |
|||
|
211
DGorgoN
19.05.09
✎
11:13
|
(210) А как определить начало момента получения данных и конец момента получения данных?
|
|||
|
212
DGorgoN
19.05.09
✎
11:13
|
особенно при подборе и когда вычисляемое поле все же есть?
|
|||
|
213
MrRustam
19.05.09
✎
11:14
|
(205) да ничего особенного не делал. А че там можно сделать?
Форма списка и форма списка для подбора одинаково томозят? |
|||
|
214
selenat
19.05.09
✎
11:14
|
(211) а хз, я не баловался этим, нужды не было. Спроси улю, он такое советовал...
|
|||
|
215
DGorgoN
19.05.09
✎
11:17
|
(213) Да, причем даже если остатки не получаются - сам подбор даже без обычного списка тормозит :)
Грешу на то, что в самом справочнике, хоть и не отображаются, но присутсвуют 90 реквизитов, 8 из которых переодических. |
|||
|
216
DGorgoN
19.05.09
✎
11:18
|
в сымле подбор из списка без остатков тормозит - имхается мне что таблица справочника просто громадная и скуль её не успевает отработать..
|
|||
|
217
MrRustam
19.05.09
✎
11:18
|
(212) попробуй сделай свою форму списка для подбора включи туда только код и наименование. Если скорость будет устраивать, то пошагово прикручивай дополнительные фишки и все время проверяй как меняется скорость работы после добавления какой либо фичи. В общем ищи эксперементальным путем.
|
|||
|
218
DGorgoN
19.05.09
✎
11:19
|
поэтому и родился вариант кастомизации - когда вся номенклатура содержится еще и в доп. справочнике, думаю это принесет свои результаты..
|
|||
|
219
orefkov
19.05.09
✎
11:19
|
(215)
Правильно грешишь. 1Ска все реквизиты тащит с сервера. |
|||
|
220
DGorgoN
19.05.09
✎
11:19
|
(217) ок, но это после оптимизации всего скуля - возможно там оооооочень много косяков
|
|||
|
221
DGorgoN
19.05.09
✎
11:20
|
(219) даже если они не отображаются?
|
|||
|
222
Mikeware
19.05.09
✎
11:20
|
Если данные на дату из периодических не получаются (т.е. не используются в формулах, не отображаются) - то периодика тормозить не должна..
|
|||
|
223
DGorgoN
19.05.09
✎
11:23
|
(221) 1Ска все реквизиты тащит с сервера даже если они не отображаются? или нет?
переодики вроде нет, но там колонки скрываются - т.е. их видимость = 0, но на форме они присутсвуют.. |
|||
|
224
Mikeware
19.05.09
✎
11:24
|
(223) Если скрыты, но присутствуют - все равно вычисляются.
|
|||
|
225
DGorgoN
19.05.09
✎
11:25
|
(224) ух - косяк :) :) :) :) :).. ес!
|
|||
|
226
DGorgoN
19.05.09
✎
11:26
|
седня же вечером иду кастрировать..
|
|||
|
227
orefkov
19.05.09
✎
11:29
|
(223)
Даже если колонок с реквизитами нет. Когда в коде первый раз обращаешься к какому-либо реквизиту элемента справочника, 1С вызывает процедуру на сервере XXX_byID, которая тащит ВСЕ реквизиты этого элемента. |
|||
|
228
DGorgoN
19.05.09
✎
11:32
|
(227) уже веселее - значит таки справочник приедтся делать :(
|
|||
|
229
DGorgoN
19.05.09
✎
11:34
|
Ну что-ж, спасибо за подсказку. Теперь я уже уверен в своих действиях. итакс:
1) заводим новый справочник - аналог старого но с кастомизацией.. 2) анализируем скуль и оптимизируем его.. |
|||
|
230
Mikeware
19.05.09
✎
11:34
|
(227) Реквизиты тащит. Но при этом периодику вроде не вычисляет. (обращений к _1sconst) нету. только что попробовал. Или я слепой?
|
|||
|
231
DGorgoN
19.05.09
✎
11:36
|
(230) В любом случае 90 реквизитов? :) - из них при подборе и анализе треется макс. 6
|
|||
|
232
DGorgoN
19.05.09
✎
11:36
|
требуется
|
|||
|
233
orefkov
19.05.09
✎
11:37
|
(227)
За периодику точно не скажу, возможно зависит от "ИспользоватьДату". |
|||
|
234
Sadovnikov
19.05.09
✎
11:37
|
(229) Сделай справочник на табличном поле и не мучайся.
|
|||
|
235
orefkov
19.05.09
✎
11:38
|
(231)
Вот ТП в 1С++ как-раз позволит тащить только нужное. |
|||
|
236
DGorgoN
19.05.09
✎
11:38
|
(234) Если на обычном - то тормозит, съедает буквы и куча других недостатков - попробую все же помучатся..
|
|||
|
237
Mikeware
19.05.09
✎
11:38
|
(233) При ИспользоватьДату() - да.
|
|||
|
238
DGorgoN
19.05.09
✎
11:39
|
(235) Беда в том. что асушники ихние не очень то радуют внешние приблуды - но если не будет другого варианта, то придется..
|
|||
|
239
mishaPH
19.05.09
✎
11:39
|
(231) фигасе. Все кроме Кода, наименования, и все что надо для подбора в справочник доп реквизитов подчиненный и вызывать только по необходимости
|
|||
|
240
Sadovnikov
19.05.09
✎
11:39
|
(236) "Если на обычном - то тормозит, съедает буквы и куча других недостатков" - поясни?
|
|||
|
241
mishaPH
19.05.09
✎
11:39
|
90 реквизитов? да что можно запихнуть в 90 реквизитов в номенклатуре?
|
|||
|
242
Sadovnikov
19.05.09
✎
11:40
|
(241) Ну как же! Прайс-листы для каждого контрагента :)
|
|||
|
243
DGorgoN
19.05.09
✎
11:43
|
(240) если обычная тз на форме - то при посике пользоватся не удобно + все же есть тормоза при наборе - первые 3 символа долго ищутся - потом уже быстрее (при наборе артикула)
|
|||
|
244
DGorgoN
19.05.09
✎
11:44
|
(241) Не спрашивай,
система предстала передомной ас из ибится сердце перестало |
|||
|
245
mishaPH
19.05.09
✎
11:44
|
(244) Да я верю. но мне интересно что у номенклатуры за 90 реквизитов
|
|||
|
246
Sadovnikov
19.05.09
✎
11:44
|
(243) А где я писал про таблицу значений?
|
|||
|
247
DGorgoN
19.05.09
✎
11:45
|
С помощью рифоплета еплохо получается: OFF: Авторифма к 1С
Система предстала передомной ас из Ибится сердце перестало Получил я не сразу проклятый сурприз И этот бред пишу устало |
|||
|
248
DGorgoN
19.05.09
✎
11:46
|
(246) я тебя позже понял..
|
|||
|
249
DGorgoN
19.05.09
✎
11:46
|
(245) всякие нормы заполняемости, всяие доп. артикулы, цены, даже есть там такой пер. реквизит - средняя цена - ваще ужас..
|
|||
|
250
mishaPH
19.05.09
✎
11:50
|
(249) понятно. кто-то себе хотел облегчить жизнь не загоняясь на всякие подчиненные справочники.
|
|||
|
251
DGorgoN
19.05.09
✎
11:51
|
Томно работая со скулем
Я в вечность получил билет На ужин булок я возьму А может, даже на обед |
|||
|
252
mishaPH
19.05.09
✎
11:52
|
(251) даешь хокку.
|
|||
|
253
DGorgoN
19.05.09
✎
11:52
|
Я буду бегло урезать
Все то что до меня написано Скопилось столько, что немыслимо Все это урезать |
|||
|
254
vde69
19.05.09
✎
11:52
|
(250) таким грешат бывшие бухи перешедшие в проги и еще саперы (как не странно звучит), видел просто неперенное количество раз подобные системы.
|
|||
|
255
FAM
19.05.09
✎
11:52
|
(250) можно подумать, что с подчиненными справочниками тормозов не будет...
|
|||
|
256
DGorgoN
19.05.09
✎
11:52
|
Что то не то:
Я буду бегло сокращать Все то что до меня написано Скопилось столько, что немыслимо Все это урезать |
|||
|
257
mishaPH
19.05.09
✎
11:53
|
(255) откуда? как влияет кол-во подчиненных справочников на работу основного?
Если только ты конечно не захочишь все реквизиты вытащить на форму списка. |
|||
|
258
mishaPH
19.05.09
✎
11:54
|
(254) Где-то слышал про 150 реквизитов у номенклатуры в САПе
|
|||
|
259
DGorgoN
19.05.09
✎
11:55
|
Объятый буйной радостью
Гастрит мой верный друг Настолько полон сладостью И мы продолжим путь |
|||
|
260
DGorgoN
19.05.09
✎
11:55
|
(258) думаю там все таки более сносная оптимизация по получению этого всего барахла из скуля
|
|||
|
261
mishaPH
19.05.09
✎
11:57
|
(260) ну на самом деле сколько полей у таблицы не играет сильно роли. Выборка нужных значений всетаки более важна думаю. механизм выборки.
|
|||
|
262
vde69
19.05.09
✎
11:57
|
(248) я тут в последнее время лазил (в связи с переносами) в Навижене и Сапе (в физических таб.)
теперь я знаю, что 1с-овцы НОРМАЛЬНЫЕ ПРОГРАММИСТЫ с ПРЯМЫМИ РУКАМИ... |
|||
|
263
DGorgoN
19.05.09
✎
11:58
|
Заставим клюшки мы летать
Пределая к ним крылья Ее уже не удержать Там наверху - стихия |
|||
|
264
FAM
19.05.09
✎
11:59
|
(257) думать нужно не только про форму списка, но и про все остальное... если реквизит есть, то он где-то используется... вот и представь себе как придется изголяться, чтобы вытащить значение реквизита из подчиненного справочника. И какие тормоза будут, если этот реквизит вдруг понадобится при формировании отчета...
З.Ы. и еще раз (для закрепления): автор, не пиши стихи, а кури маны по Прямым запросам и ТП (табличное поле) из 1С++ |
|||
|
265
DGorgoN
19.05.09
✎
11:59
|
(262) гы гы гы,
Еще более тупые и жадные программисты из САП :)) (зы - прошу воспринимать как юмор) |
|||
|
266
orefkov
19.05.09
✎
12:01
|
(258) Возможно в САПе это не напрягает систему (те там нет задач, когда тащатся все реквизиты баз разбору), в 1С - напрягает.
В любом случае, стоит помнить, что каждый раз, когда ты первый раз обращаешься через точку к реквизиту справочника, 1С тянет весь набор данных (хотя возможно есть кэширование для нескольких элементов), те справочник с 90 реквизитами наверняка является тормозом не только в форме списка. Это надо в консерватории править - разносить логически связанные реквизиты в подчиненные справочники. |
|||
|
267
orefkov
19.05.09
✎
12:04
|
+(266)
Либо использовать прямые запросы (они не зря так называются), чтобы брать только то, что нужно. |
|||
|
268
DGorgoN
19.05.09
✎
12:04
|
(266) угу
|
|||
|
269
vde69
19.05.09
✎
12:12
|
(266) к слову сказать и в 8.х та-же байда, если в запросе я получаю "ссылку" на элемент справочника, а в справочнике есть поле на 10 мегов (например хранилище), то приколько тормозит :),
|
|||
|
270
DGorgoN
19.05.09
✎
12:16
|
(269) буду иметь ввиду
|
|||
|
271
vde69
19.05.09
✎
12:19
|
(270) по чему я тебя и просил формат таблицы, и там имеет значение даже порядок следования реквизитов.
|
|||
|
272
DGorgoN
19.05.09
✎
12:20
|
(271) к часу будет результат тестов.. ждус.. :)
|
|||
|
273
Пеликан
19.05.09
✎
12:26
|
(0) Есть опыт оптимизации таких справочников в 7.7
1. Осознать, что штатный поиск по колонке лучше не использовать (тормоз). 2. Дописать поиск по нужным реквизитам через прямые запросы (обычно делаю сразу поиск по подстроке). 3. Все вычисляемые колонки рассчитываются при выборе родителя. 4. При снятой иерархии вычисляемые колонки не рассчитывать вообще. |
|||
|
274
mishaPH
19.05.09
✎
12:30
|
(264) все можно вытащить и без проблем. даже в отчеты.
Странная политика зас..рать таблицу справочника или дока ради того. что какой-то реквизит понадобится когда-то. Вообще прога не должно заботить количество кода написанного для чего-то, а должно заботить скорость работы. |
|||
|
275
DGorgoN
19.05.09
✎
13:01
|
(274) +1
|
|||
|
276
FAM
19.05.09
✎
13:13
|
(274) вытащить действительно можно все...
Вот только объясни мне в чем разница между реквизитами в таблице со справочниками и этими же реквизитами в таблице подчиненного справочника - что, от выноса их в подчиненный справочник их меньше станет? По-поводу скорости работы... ты хочешь сказать, что условие по колонке таблицы будет больше тормозить, чем джоин с таблицей подчиненного справочника и условие по колонке подчиненного справочника. (А если учесть то, как это условие будет отрабатываться типовыми средствами 1С, то это ваще ппц полный наступает) |
|||
|
277
los_hooliganos
19.05.09
✎
13:15
|
(276) А справоник обязательно именно подчиненный должен быть для хранения редко используемых реквизитов?
|
|||
|
278
FAM
19.05.09
✎
13:19
|
+(276) По-поводу политики и религиозным убеждениям зачем нужен тот или иной реквизит из 90 - это не ко мне, а к автору... Я считаю, что если реквизит не нужен и нигде не используются, то его и быть не должно. При этом, априори считаю, что автор ветки придерживается тех же убеждений и у него все реквизиты нужные.
|
|||
|
279
FAM
19.05.09
✎
13:22
|
(277) про подчиненные справочники я из (250) вычитал... Сам такими вещами не занимаюсь. Мне проще типовую кривизну работы заменить на прямые запросы.
|
|||
|
280
DGorgoN
19.05.09
✎
13:27
|
(278) Ты думаешь неправильно
|
|||
|
281
DGorgoN
19.05.09
✎
13:27
|
Эту создавшуюся ситуацию меня как раз и попросили исправить - вот и сижу и анализирую, и исправляю
|
|||
|
282
mishaPH
19.05.09
✎
13:30
|
(276) А что типа ты дашь гарантию, что все реквизиты у всех элементов всегда заполненны? а тамлица то особенно ДБФ она места занимает. Кроме того когда ты у товара цену пытаешься вызвать (реквизит через ..)Нафига все 90 оставшиеся читать?
Подчиненные справочники выбираются легко и быстро ибо индексированы к элементам |
|||
|
283
mishaPH
19.05.09
✎
13:32
|
(279) лечить головную боль операцией конечно может и проще для хирурга.
А ты не думал, что отказ от планирования нормального архитекруры системы и подмена прямыми запросами составит некое неудобство? а ты уверен. что базу не надо иногда по каким-то причинам в ДБФ грузануть для отладки или еще каких целей? |
|||
|
284
mishaPH
19.05.09
✎
13:32
|
архитекруры = архитектуры
|
|||
|
285
DGorgoN
19.05.09
✎
13:34
|
Просьба успокоится горячим финским парням - прямые запросы будут в посл. очередь - когда уже будет понято, что все.. приплыли..
|
|||
|
286
DGorgoN
19.05.09
✎
13:35
|
блин, еще час ждать - ё
|
|||
|
287
vde69
19.05.09
✎
13:35
|
(285) ну? 13-00 уже было
|
|||
|
288
DGorgoN
19.05.09
✎
13:36
|
(287) Адним понимаешли не на месте. будет через час, да и и подозреваю что все через 2.
Пошел курить от злости.. |
|||
|
289
vde69
19.05.09
✎
13:37
|
(288) главное, что-бы они окошко результатов не прибили :)
|
|||
|
290
Bagirius
19.05.09
✎
13:40
|
Была статья про быстрые справочники.
Можно поиском поискать, так вот - в 1С ШТАТНО некоректно идет обращение к ТекущийЭлемент() и т.п. Используя ВК 1cpp, даже не используя ее мощный потенциал, автоматически ускаряется работа 1С. А именно быстрые справочники становятся, может этого будет достаточно? Т.е. просто загружать при старте 1с++ |
|||
|
291
mishaPH
19.05.09
✎
13:43
|
(290) может ты путаешь с оптимизацией выборки ТЗ а не справочников? есть такая фишка которая в 1С++ была включена.
|
|||
|
292
DGorgoN
19.05.09
✎
13:47
|
(289) ага, я тогда буду рвать и метать
|
|||
|
293
DGorgoN
19.05.09
✎
13:48
|
(290) в любом случае 90 реквизитов уже не дело
|
|||
|
294
Bagirius
19.05.09
✎
13:48
|
(291) именно про справочники была статья
И еще на счет ТЗ. Если использовать ИТЗ из 1с++, то при большом объеме данных она намного выгрывает по скорости |
|||
|
295
mishaPH
19.05.09
✎
13:50
|
(294) ссылка есть на это? а то я это только про ТЗ читал. Про справочники никогда не попадалось. ты видимо всетаки путаешь. Оптимизировали именно ТЗ и Выбрать, получитьСтроку() ибо штатная 1С при поиске и выборке тупо перебирала все ТЗ помоему пока не натыкалась на нужную строку даже по ПолучитьПо Номеру
|
|||
|
296
Bagirius
19.05.09
✎
13:53
|
(295) ищу...
|
|||
|
297
Bagirius
19.05.09
✎
13:55
|
(295) Нашел у себя в txt
Быстрые (легкие) справочники и документы ... Прочитав статью Вы научитесь более быстро извлекать и записывать данные из справочников ( документов ), что позволит при необходимости значительно оптимизировать решение Ваших задач. Вы будете лучше понимать работу стандартных методов объекта Справочник ПолучитьЭлемент(), НайтиЭлемент(), Записать(). Пролог Может для кого то все написаное ниже давно извесно но тем не менее. Изначально было желание написать Класс конкретного справочника. При этом предполагалось что работать можно будет привычным способом, а скорость обращения значительно возрастет. Простейший Класс ( класс СправочникКлиенты = Кл1.ert : Справочник.Клиенты ) был создан. Но со скоростью все оказалось немного не так. Быстрые Справочники. Кратко о базе. В базе есть справочник Клиенты. Этот справочник содержит 61922 клиента. Элемент справочника Клиенты содержит 57 реквизитов, один из них периодический с очень редким изменением. 1с база - sql. В момент всех тестов с 1с базой работал только я один, но эта база установлена на рабочем сервере где круться довольно интенсивно еще несколько 1с sql баз. Замер скорости делался днем когда сервер был нагружен другими sql базами и вечером когда не было никакой нагрузки дополнительной на sql сервер. 1cpp версии 2.0.2.2 Параметры Оптимизация включена. Сначала я написал класс СправочникКлиенты и очень удивился почему этот класс работает очень медленно. Вроде бы этот класс создан на основании прямого запроса и должен работать с той же скоростью что и прямой запрос. Путем эксперементов выяснил что основной тормоз состовляет Спр.НайтиЭлемент(). Проверив в профайлере sql убедился что метод НайтиЭлемент() генерит sql код select * from sc46 и причем столько раз сколько у нас элементов в справочнике. После этого полученные реквизиты копируются во внутренний объект Спр.ТекущийЭлемент(). Сделано так из-за универсальности потому что заранее неизвестно какие и когда реквизиты справочника будут использоваться и при позиционировании на новое значение с сервера беруться все реквизиты. А теперь представьте что в конкретной выборке справочника Клиенты нам от всего справочника клиенты нужен только один реквизит ИНН. Мы( конкретный программист) то это знаем, а 1с приложение нет и получается понапрасну перемалывается зря куча никому не нужной информации - причем это происходит и на sql сервере и на компьютере пользователя и этот "мусор" передается по сети сначала с сервера на компьютер пользователя, затем в обратном направлении. С записью элементов имеем аналогичную картину. Все это видно из простейшего примера. Рассмотрим пример : /* Строка 1 */ Спр1 = СоздатьОбъект("Справочник.Клиенты"); /* Строка 2 */ Спр1.ВыбратьЭлементы(); /* Строка 3 */ Пока Спр1.ПолучитьЭлемент() = 1 Цикл /* Строка 4 */ Если Спр1.ЭтоГруппа() = 1 Тогда Продолжить; КонецЕсли; /* Строка 5 */ Если Спр1.ПометкаУдаления() = 1 Тогда Продолжить; КонецЕсли; /* Строка 6 */ Спр1.site = "www.mail.ru"; /* Строка 7 */ Спр1.Записать(); /* Строка 8 */ КонецЦикла; В строке 3 происходит следущее находим следущий id по нему делаем select * from sc46 и записываем все реквизиты в Спр1.ТекущийЭлемент(); В строке 4 игнорируем группы В строке 5 игнорируем помеч. на удаление В строке 6 изменяем реквизит site у элемента справочника В строке 7 записываем ВСЕ реквизиты конкретного элемента в таблицу sql. выполняется update по всем реквизитам справочника (Реквизит site = SP214) Update SC46 set ID=@P1, PARENTID=@P2, CODE=@P3, DESCR=@P4, ISFOLDER=@P5, ISMARK=@P6, VERSTAMP=@P7, SP56=@P8, SP710=@P9, SP711=@P10, SP53=@P11, SP938=@P12, SP940=@P13, SP941=@P14, SP1055=@P15, SP1056=@P16, SP1207=@P17, SP1570=@P18, SP1273=@P19, SP1383=@P20, SP1569=@P21, SP1608=@P22, SP1609=@P23, SP1648=@P24, SP1649=@P25, SP1656=@P26, SP1657=@P27, SP1835=@P28, SP2050=@P29, SP2051=@P30, SP2213=@P31, SP2214=@P32, SP2236=@P33, SP2237=@P34, SP2238=@P35, SP2239=@P36, SP2251=@P37, SP2993=@P38, SP3330=@P39, SP3331=@P40, SP3547=@P41, SP5019=@P42, SP5256=@P43, SP5374=@P44, SP5375=@P45, SP5376=@P46, SP5377=@P47, SP5378=@P48, SP5387=@P49, SP5379=@P50, SP5380=@P51, SP5381=@P52, SP5382=@P53, SP5383=@P54, SP5384=@P55, SP5385=@P56, SP5386=@P57, SP5388=@P58, SP5395=@P59, SP5396=@P60, SP5416=@P61, SP5737=@P62, SP6253=@P63, SP6423=@P64 where ROW_ID=@P65 А теперь представьте что у Вас в справочнике есть несколько реквизитов длиной скажем 300. Сколько раз я писал аналогичный текст. Но под таким углом зрения взглянул впервые. На основании этой информации был написан 1с++ класс класс БыстрыйСправочникКлиенты_1 = Кл2.ert { void ВыбратьЭлементы(); Число ПолучитьЭлемент(); void Записать(); }; Заметим здесь что этот класс не является наследником Справочника.Клиенты В методе Записать() данного класса используется только один реквизит. Из тестовых результатов видно что класс БыстрыйСправочникКлиенты_1 работает на порядок быстрее чем стандартный метод Записать(); конечно надо понимать что не все так просто. У справочника могут быть также графы отбора (надо делать записи в доп таблицы), база может быть УРБД, Записать учитывает также блокировки или что-то еще я упустил. Статья описывает не конечную реализацию а проблему разобравшись с которой можно значительно улучшить работу 1с приложений. Имеем полную аналогию с прямыми запросами. Запрос 1с неоптимальный универсальный. Каждый раз когда мы хотим ускорить выборку мы разбираемся с таблицами и пишим прямой запрос который выполняет задачу и работает быстро. Аналогично когда нужно и читать и писать справочник для каждой конкретной ситуации нужно разработать свой Быстрый-Легкий класс который работает с минимальным количеством реквизитов и учитывает контекст выполнения. А как же документы ? Сначала нужно досконально разобраться со справочниками так так они значительно легче документов. Документы это отдельная тема и планируется написание по ним отдельной статьи. Заметим с одной стороны документ ( шапка документа ) очень похож на справочник. С другой стороны у документа есть очень существенные отличия от справочника. Документ содержит понятие времени, документ имеет многострочную часть, а также документ "двигает" регистры. Документы могут иметь общие реквизиты чего нет в справочниках. Еще одно отличие Документ можно записать в момент проведения. В этом минусов ИХМО гораздо больше минусов чем плюсов но мое мнение ничего не меняет. Методы ПолучитьДокумент() , НайтиДокумент копируют всю информацию из шапки документа во внутренюю структура объекта документ. По выборке все что относиться к справочникам применимо и к шапке документов. По записи аналогично. И все сказанное выше для справочника справедливо и для документа. Но как правило документ никогда не записывается просто так. В 90 случаях после записи документ проводиться. И если снова пользоваться стандартным способом провести то сначала надо спозиционировать документ и все преимущество полученное быстрым классом документа будет потеряно. Т.е. получается что надо думать в направлениии создать создания своего метода провести в быстром классе. Эпилог Можно еще улучшить метод Записать с с помощью параметризованных запросов и RPC, через временную таблицу sql, а затем одним update записать в основную таблицу. Надеюсь совмесными усилиями и знаниям мы сможем еще оптимизировать метод Записать() для БыстрогоСправочника. Заключение : В заголовке статьи поставлено многоточие. Хотелось бы обсудить кто что думает по всему вышеизложенному. С уважением Морев Андрей aka Z1 |
|||
|
298
mishaPH
19.05.09
✎
13:56
|
(297) не ну это на скл по любому. тут не просто так взял 1С++ загрузил и вот оно.
|
|||
|
299
Bagirius
19.05.09
✎
13:58
|
(298) давно читал, ошибся немного.
|
|||
|
300
DGorgoN
19.05.09
✎
14:01
|
(298) +1
о в любом случае если будут нужны прямые запросы - то уже знаю куда копать |
|||
|
301
mishaPH
19.05.09
✎
14:04
|
(300) ну чем хороша 7ка - все уже пройдено и все грабли известны.
|
|||
|
302
FAM
19.05.09
✎
14:05
|
(282)
1. Не понял причем тут заполненность реквизитов? подчиненный справочник тоже не горантирует заполненность всех реквизитов. Или ты хочешь сказать, что на один реквизит у тебя одна запись в подчиненном справочнике? Так это еще большие тормоза + проблемы с приведением типов, так как в результате получаем таблицу а-ля _1SConst. 2. Речь идет не про ДБФ, а про СКЛ, хотя и СКЛ таблица тоже место занимает :) 3. Когда мне надо получить любой реквизит через ".", я получаю прямым запросом только то, что мне надо (лишние реквизиты не тяну). 4. Ну и что что они индексированы, условие по колонке одной таблицы все равно быстрее, чем джоин с другой таблицей и условием по колонке присоединенной таблицы. (283) 1. а где я говорил, что против нормального планирования архитектуры БД? Под нормальным я подразумеваю именно "нормальное", а не подстраивание под кривую работу 1С с БД на СКЛ. 2. За последние 6 лет ни разу не было необходимости выгружать базу в ДБФ, чтобы там что-то отладить... вся работа ведется на СКЛ. Зачем вообще базу СКЛ в ДБФ кидать? |
|||
|
303
DGorgoN
19.05.09
✎
14:08
|
(302)
Я же попросил.. Зы - все хорошо, вы просто друг друга немного недопонимаете. Прошу не разводить холивары в ветке - итак уже большая. Тут вещь о том что все эти реквизиты нафик при выборе не нужны - отсюдоваи грабли.. |
|||
|
304
mishaPH
19.05.09
✎
14:09
|
(302) 2. про дбф. Ты аидимо не работал в сильно распределенных базах. когда зоопарк техники большой и часто в одной УРБД и Дбф и СКЛ базы с разными серверами и разными возможностями. Поддерживать 2 версии выборок и там и там?
Кроме того прямые запросы при изменении кол-ва реквизитов да и банально создаешь с этими-же метаданными новые бызы, когда банально идентификатор таблицы иной становится в ДДС вызывает некоторую проблему в перенастройки |
|||
|
305
Sadovnikov
19.05.09
✎
14:32
|
(304) Я работал "в сильно распределенных базах". Ни разу не потребовалось базу в dbf выгружать. И куда ты ее, нафиг, выгрузишь, если в ней гигов за сотню?
|
|||
|
306
mishaPH
19.05.09
✎
14:33
|
(305) Это ЦБ. Я про перефирии.
Поддерживать и прямые запросы и стандартный код для ДБФ версии - не есть айс |
|||
|
307
mishaPH
19.05.09
✎
14:36
|
+ 306 Кстати на СКЛ переводят и не только когда большие базы. А прежде всего из-за стабильности работы и надежности как таковой.
|
|||
|
308
Mikeware
19.05.09
✎
14:36
|
(304) Вообще, запросы могут работать и в дбф-ных базах...
А "Кроме того прямые запросы при изменении кол-ва реквизитов да и банально создаешь с этими-же метаданными новые бызы, когда банально идентификатор таблицы иной становится в ДДС вызывает некоторую проблему в перенастройки" называется "адский отжиг" |
|||
|
309
Sadovnikov
19.05.09
✎
14:38
|
(306) "Переферия" - что-то около 40 гигов. Какая dbf?
"Поддерживать и прямые запросы и стандартный код для ДБФ версии - не есть айс" - согласен. DBF - ф топку. (307) Кто бы спорил :) |
|||
|
310
mishaPH
19.05.09
✎
14:39
|
(308) Да работает но вот не в лоб. по п2. утверждать не буду, но что-то из этой оперы есть.
|
|||
|
311
mishaPH
19.05.09
✎
14:40
|
(309) ну у всех перефириии разные. У меня у молочки например в Системе есть склады на которых стоит 1 комп. и на который скл не поставишь. оно всякое бывает
|
|||
|
312
Sadovnikov
19.05.09
✎
14:42
|
(311) Ну, тут уж выбирать - шашечки или ехать :)
|
|||
|
313
mishaPH
19.05.09
✎
14:44
|
(312) Мы работаем с теми реалиями, которые есть и с людьми которые в наличии в данном регионе.
|
|||
|
314
Sadovnikov
19.05.09
✎
14:46
|
(313) Это ты к чему сказал такое?
|
|||
|
315
Mikeware
19.05.09
✎
14:54
|
(311) Работает на 1 компе. Девелопский сиквельник...
|
|||
|
316
DGorgoN
19.05.09
✎
15:04
|
***total*** 604090.0 100.0
LCK_M_U 189734.0 31.4 NETWORKIO 189064.0 31.3 LCK_M_X 179376.0 29.7 LCK_M_IS 19175.0 3.2 CXPACKET 10164.0 1.7 PAGEIOLATCH_SH 6752.0 1.1 |
|||
|
317
DGorgoN
19.05.09
✎
15:05
|
||||
|
318
artbear
19.05.09
✎
15:55
|
(295) Ты не прав, в последних версиях 3.0.1.ХХХ как раз было многое сделано для ускорения всей работы 1С при простой загрузке 1С++.
Т.е. работа, выполненная еще в ВК ТурбоБЛ и перенесенная в 1С++, по ускорению работы методов и обращению к реквизитам объектов, доведена до логического завершения. Но,конечно, это проблему автора полностью все равно не решит :) - слишком много данных и нужно реструктурировать справочник или юзать прямые запросы. ЗЫ Заявляю этот ответственно как один из разработчиков, приложивших руку к этому ускорению 1С с помощью простой загрузки 1С++ :) |
|||
|
319
МуМу
18.06.09
✎
09:11
|
Причин тормозов может быть много.Это и вычисляемые поля и длинные поля с сортировкой и отбором, низкая селективность в виде отключаемой иерархии или подобного.
Вот описание одной из причин. http://www.softpoint.ru/article_id18.htm |
|||
|
320
МуМу
18.06.09
✎
09:12
|
Ну а вообщем есть примеры с 1,5 млн записей в справочнике. Ничего не тормозит.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |