|
Можно ли оптимизировать запросик?
|
|||
---|---|---|---|
#18+
Запросик сильно подвешивает систему. Есть более быстрые варианты? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
2 таблицы. 1. People - содержит список сотрудников (4000 записей) с полями : UserName - полное имя ShortName, INetAddr, Fam - различные алиасы этого человека 2. tmpTrace 500 000 записей. Примерно половина соответствует условию WHERE данного запроса. Задача - поле TO привести к единому формату заменив там все алиасы на полный UserName. Некоторые пояснения по запросу 1. "FETCH FIRST 1 ROWS ONLY" введено на всякий случай. В принципе такого быть не должно но однажды было. Может MAX или MIN будет быстрее? 2. Условие " not like '%/%' " отсекает имена не нужного формата ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2004, 13:40 |
|
Можно ли оптимизировать запросик?
|
|||
---|---|---|---|
#18+
можно not in заменить на not exists. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2004, 14:40 |
|
Можно ли оптимизировать запросик?
|
|||
---|---|---|---|
#18+
так? Код: plaintext 1. 2. 3. 4. 5. 6. 7.
А смысл? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2004, 14:58 |
|
Можно ли оптимизировать запросик?
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2004, 15:12 |
|
Можно ли оптимизировать запросик?
|
|||
---|---|---|---|
#18+
Откуда этот текст? Кукбуке не нашел. Я решил отказаться от последовательного сравнения (что плохо но не смертельно), поэтому пришел к такому Код: plaintext 1. 2. 3. 4. 5.
Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2004, 15:41 |
|
Можно ли оптимизировать запросик?
|
|||
---|---|---|---|
#18+
Это из Information Centr'a. Что, проба дала неудовлетворительные результаты? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2004, 15:54 |
|
Можно ли оптимизировать запросик?
|
|||
---|---|---|---|
#18+
Почему бы не попробовать новенькое - MERGE? Что-то похожее (синтаксис уточните в книжке) на: create view xxx as select t1.primaryKey, max(p1.userName) from db2admin.tmpTrace t1, db2admin.People p1 where (To<>'' AND to not like '%/%' AND to not in (select UserName from db2admin.People)) and (lcase(TO)=ShortName or lcase(TO)=INetAddr or lcase(TO)=Fam); merge into db2admin.tmpTrace t1 using xxx on xxx.primaryKey=t1.primaryKey when matched then update set t1.to = xxx.userName ; ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2004, 18:00 |
|
|
start [/forum/topic.php?fid=43&tid=1606237]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 263ms |
0 / 0 |