Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
медленный UPDATE
|
|||
|---|---|---|---|
|
#18+
Ситуация такая: есть фоксовская БД, связанная с таблицами SQL server, с помощью remote views. С внешнего источника поступают данные, я их в курсоре обрабатываю(привожу к нужному виду) и помещаю в remote views. Если такие данные во view уже есть то обновляем их, если нет то вставляем новые UPDATE table1 SET par1 =TMP->par1 , ; par2 =TMP->par2 ; WHERE table1->A =TMP->A .AND. ; table1->B =TMP->B .AND. ; table1->C =TMP->C .AND. ; table1->D =TMP->D .AND. ; table1->E =prefix IF _TALLY==0 INSERT INTO table1 ... Раньше когда обновления сразу шли в локальную таблицу(т.е. без remote view) все работало моментально, сейчас это занимает около 30 секунд. В опросе три такие процедуры с тремя таблицами(таблицы примерно по 6000 записей, но будут намного больше, т.е. время запроса увеличится на порядок) КАК БЫТЬ? Примечание: На SQL server есть индексы по сравниваемым полям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 23:47 |
|
||
|
медленный UPDATE
|
|||
|---|---|---|---|
|
#18+
может надо пересмотреть работу с mssql, и почаще пользоваться sqlexec() и tableupdate, может я чего то не понимаю, но для не справочных таблиц операции сохранения/выборки писать ручками, а .DBC, использовать как шаблон для рисования форм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 03:51 |
|
||
|
медленный UPDATE
|
|||
|---|---|---|---|
|
#18+
>На SQL server есть индексы по сравниваемым полям. А на RemoteView есть индексы по сравниваемым полям? Что тормозит - Update View или Tableupdate('View')? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 11:38 |
|
||
|
медленный UPDATE
|
|||
|---|---|---|---|
|
#18+
2brahew: table1 находится на sql server, т.е. обращение к ней присходит через remote view, а TMP - cursor временная таблица. Так что я не вижу как можно использовать sqlexec()? На сколько я понимаю на sql server TMP не увидеть. 2Andrew_Pr: >А на RemoteView есть индексы по сравниваемым полям? Нет, т.е. ты предлагаешь создавать временные индексы перед UPDATE? Думаешь поможет? Кстати, вопрос ко всем: какие лучше индексы - составные по всем сравниваемым колонкам или несколько по разным колонкам? и вообще выскажите свое мнение по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 12:13 |
|
||
|
медленный UPDATE
|
|||
|---|---|---|---|
|
#18+
Сформируй Update для mssql, и пошли его на сервер через sqlexec(), а на эту строку поставь Tableupdate() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2003, 08:30 |
|
||
|
медленный UPDATE
|
|||
|---|---|---|---|
|
#18+
Когда ты update RemoteView, происходит два процесса: 1) View изменяется на основе данных из твоей tmp-таблицы 2) таблица в SQL изменятся на основе данных твоего View. Если у тебя построчная буферизация view, то эти два процесса происходят параллельно. Если табличная буферизация - то последовательно. Так какой из этих процессов тормозит? Индексы на SQL-таблице никакого влияния на скорость 1-го процесса не оказывают. для него важны индексы на Remoteview и твою tmp-таблицу. Но учти, сама индексация view и tmp тоже ведь займет какое-то время. поэтому если Update у тебя выполняется 1 раз и после этого view и tmp закрываются, то общая скорость вырастет наверное не на много. Кроме того, при табличной буферизации update должн работать быстрее, чем при построчной . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2003, 20:13 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32299277&tid=1597696]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 259ms |
| total: | 412ms |

| 0 / 0 |
