Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
ASA 9 имееца 2 связные по FK таблицы. в первой - 10 000 записей. в подчиненной - 1 100 000 записей. добавление в первую таблицу 1й записи с добавлением во вторую таблицу 300 записей происходит 12 минут. поделитесь мыслями и соображениями... что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 17:00 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
может срабатывают тригеры с тяжелыми расчетами? З.Ы. трудно без доп. информации гадать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 17:05 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
Каков размер кэша, наличие индексов, кол-во и качество полей таблиц, железо, нагрузка на сервер от других юзеров. Ну и как уже упоминалось наличие тригеров. ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 17:12 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
нет, трудных расчетов в тригере нет... для первой таблицы вычисляется текстовый номер в зависимости от даты и предыдущего номера, плюс присваиваеца PK ид по схеме МАКС+1 для второй таблицы происходит проверка наличия связных для FK записей по двум таблицам и присваивание PK ид по всё тому же класическому МАКС+1 какие нужны до данные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 17:14 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
К своим предыдущим вопросам добавляю еще один, а нах "МАХ+1"? По-нормальному не делается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 17:30 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
база целиком помещается в кэш? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 17:34 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
согласен с iLLer, наверное все-таки max+1 заставляет сервак пыхтеть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 17:35 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
iLLer wrote: > К своим предыдущим вопросам добавляю еще один, а нах "МАХ+1"? Люди не верят разработчикам сервера, настоятельно рекомендовавшим использовать автоинкремент . Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 17:38 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
iLLerКаков размер кэша, наличие индексов, кол-во и качество полей таблиц, железо, нагрузка на сервер от других юзеров. Ну и как уже упоминалось наличие тригеров. ??? мах+1 - так сложилось исторически... он работает для номеров документов. для ид-шников я неправильно выразился - работает счетчик, но ручной... есь таблица, где храница максимальное значение... прошу прощения, если ввел в заблуждение. кэш - 512 метров индексы стандартные - по примари и форайну... железо - 2 головы ксеон по 3ггц, 2 гига оперативки, скази на 15000 в пятом рейде... вродь нормальное юзеры - 15-20 человек... типы полей: (куда идет запись одной строки) 1я таблица: 10 таймштампов 10 интегеров пара ограниченных чаров (макс 400) пяток флоатов 2я таблица: (куда идет запись 300 строк) 6 интегеров пара ограниченных чаров (макс 200) и пара флоатов что еще надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 17:54 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
в догонку: кроме этой базы на данном сервере вертяца еще и другие на 7ке... но общая нагрузка - минимальная... в среднем не больше 5%. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 17:59 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
попробуйте поискать свой bottleneck хотя бы так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. если время будет измеряться минутами, значит max(id) виноват ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 18:28 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
Все вроде в порядке. Остаются тригеры. Отлаживайте их, добавьте "message current timestamp to console" до и после подозрительных на торможение инструкций, а потом анализируйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 18:37 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
iLLer wrote: > Все вроде в порядке. Остаются тригеры. > Отлаживайте их, добавьте "message current timestamp to console" до и > после подозрительных на торможение инструкций, а потом анализируйте. А не проще включить профайлинг и посмотреть, какая [beep] занимает такую кучу времени :)? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 19:02 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
у меня еще в клиентской части (powerbuilder) происходят вычисления... но тож вроде не сложные... в общем, завтра предстоят большие тесты как клиентской части, так и серверной... всем участникам - спасибо. если у кого-то будут интересные мысли - с удовольстивем почитаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2006, 19:03 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
а почему не использовать вместо max+1 select first ID+1 from Table order by ID desc ведь ID - РК (т.е. уникальный индеск) на крайняк продублировать его индексом по desc гораздо быстрее чем агрегатор мах ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2006, 10:18 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
L0cat0rа почему не использовать вместо max+1 select first ID+1 from Table order by ID desc ведь ID - РК (т.е. уникальный индеск) на крайняк продублировать его индексом по desc гораздо быстрее чем агрегатор мах ? я уже исправился, что мы не используем макс для получения ПК есь таблица, в которой храница только одно интегеровое значение... перед выборкой это значение инкрементируеца. собсно так сложилось исторически... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2006, 10:28 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
собственно аналогично только таблиц поболе - с раздачей диапазонов .. etc отличается только тем, что функция получения ID берет готовый а потом апдейтит на следующий ... кроме тригерной логики и индесков на таблицах еще стоит попробовать вставлять меньшими кусками с комитом между ними - как правило помагает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2006, 12:20 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
L0cat0rвставлять меньшими кусками с комитом между ними - как правило помагает. А вот тут не уверен, что это так. Вроде 300 инсертов + один коммит быстрее, чем 300 инсертов + 300 коммитов (ну или 100). Профайлер конечно поможет, просто я по привычке с 6-ки. А если еще и какие-то действия в клиенте происходят, то изначальный вопрос поставлен неправильно: rashmanдобавление в первую таблицу 1й записи с добавлением во вторую таблицу 300 записей происходит 12 минут...что делать? звучит, так, как будто клиент не причем. Сначала оттестите серверную часть, повставляйте записи скриптом из ISQL, а потом за клиента хватайтесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2006, 12:36 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
iLLer звучит, так, как будто клиент не причем. Сначала оттестите серверную часть, повставляйте записи скриптом из ISQL, а потом за клиента хватайтесь. Присоединяюсь. Недавно сам на такой же случай нарвался с Insert. Клиентское приложение тормозило, иногда вставлясь запись в таблицу каталога товаров более 5 минут. Стал проверять и выяснил, что сам Insert отрабатывал ка из пушки(хотя там и индексов хватает и триггеры подвешаны и т.д.) Оказалось что дело в том что, клиентское приложение пыталось спозиционироваться после вставки на эту новую запись(использовался BDE), а если эта запись оказывалась далеко не первой в обновленном наборе, то достижение ее простым перебором тормозило соответственно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2006, 12:45 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
L0cat0rвставлять меньшими кусками с комитом между ними - как правило помагает. насколько я понимаю, то это с точностью до наоброт: если хотим ускорить - уменьшаем количество коммитов. iLLer Сначала оттестите серверную часть, повставляйте записи скриптом из ISQL, а потом за клиента хватайтесь. чем собсно сёдни и занимаюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2006, 12:45 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
iLLer L0cat0rвставлять меньшими кусками с комитом между ними - как правило помагает. А вот тут не уверен, что это так. Вроде 300 инсертов + один коммит быстрее, чем 300 инсертов + 300 коммитов (ну или 100). Ну это уже проверялось и не раз вставка одной записи в одну таблицу + порожденная пачка 500-1000 записей в другую отрабатывало меньше секунды после тысячи-другой записей в первую это уже потянуло до 5 секунд и так далее благо в курсоре поставил комит после каждой сотни записей по первой таблице - в результате постоянная скорость в районе секунды на любом объеме ИМХО, с собственного опыта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2006, 13:09 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
Посмотреть есть ли FK на родительскую таблицу. Если есть, создать в родительской индекс на поля, на которые ссылается FK. Кстати на дочерней таблице также надо иметь индекс, пригодится при удалении родительских записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2006, 01:36 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
MasterZivПосмотреть есть ли FK на родительскую таблицу. Если есть, создать в родительской индекс на поля, на которые ссылается FK. Кстати на дочерней таблице также надо иметь индекс, пригодится при удалении родительских записей. фк ессно есь. и ссылаеца он на пк в родителе. индексы тоже есь - писал выше - стандартные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2006, 10:36 |
|
||
|
АСА 9. Скорострельность. Не могу понять.
|
|||
|---|---|---|---|
|
#18+
MasterZivсоздать в родительской индекс на поля, на которые ссылается FK.А вот это в ASA делать не стоит. Потому что в ASA ты можешь сделать FK только на primary key или unique набор полей. А на них ASA строит индексы автоматически. И индекс созданый вручную будет дублировать автоматический со всеми вытекающими последствиями по работе с двумя идентичными индексами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2006, 18:04 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=33908783&tid=2012670]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 208ms |
| total: | 358ms |

| 0 / 0 |
