|
|
|
Зависает SQL-запрос содержащий вложенный зависимый запрос
|
|||
|---|---|---|---|
|
#18+
igor.kovalchukнепоймучка, Попробовал. Зависает : ( Ну если записей много, то да, там ведь идет частичное перемножение таблиц. Как вариант, можно делать через промежуточную/временную таблицу, для этого в исходной таблице temp нужен Код (код записи - уникальный/счетчик) Сначала создать времянку (temp1), записав туда результаты max-подзапроса: Код: sql 1. 2. 3. 4. 5. А потом уже делать итоговую выборку через эту времянку: Код: sql 1. 2. 3. 4. Чтобы все шевелилось побыстрее, делать это лучше в таблицах MSAccess, имея там индексы по полям KD(типа LONG) и sYear/Год_вхождения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2017, 09:16 |
|
||
|
Зависает SQL-запрос содержащий вложенный зависимый запрос
|
|||
|---|---|---|---|
|
#18+
непоймучка, вся проблема в том, что Accessa на рабочем месте нету. Отчего-то компания офис без него только разрешила юзать. А времянка поможет ? я почему делаю под запрос, потому что поле sYear меняет свое значение и под него каждый раз нужно вычислять поле Группа так как поле kd в таблице firms не уникально из-за того что могут быть записи с одним kd но разными Год_вхождения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2017, 21:09 |
|
||
|
Зависает SQL-запрос содержащий вложенный зависимый запрос
|
|||
|---|---|---|---|
|
#18+
igor.kovalchukнепоймучка, вся проблема в том, что Accessa на рабочем месте нету. Отчего-то компания офис без него только разрешила юзать. А времянка поможет ? я почему делаю под запрос, потому что поле sYear меняет свое значение и под него каждый раз нужно вычислять поле Группа так как поле kd в таблице firms не уникально из-за того что могут быть записи с одним kd но разными Год_вхождения.Ну я протестил те запросы, что выше предлагал (в temp~200K записей, в firms~10K записей). Первый запрос на создание врем.таблицы работал ~50 сек, второй запрос на выборку - секунд 30 читает, попробуйте сами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2017, 22:08 |
|
||
|
Зависает SQL-запрос содержащий вложенный зависимый запрос
|
|||
|---|---|---|---|
|
#18+
непоймучка, спасибо. ваш вариант еще не пробовал. завтра потестю. сам пока родил такой, который наконец-то заработал на маленькой тестовой базе. завтра попробую на большой. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 00:00 |
|
||
|
Зависает SQL-запрос содержащий вложенный зависимый запрос
|
|||
|---|---|---|---|
|
#18+
igor.kovalchuk, попробуй OUTER APPLY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 09:09 |
|
||
|
Зависает SQL-запрос содержащий вложенный зависимый запрос
|
|||
|---|---|---|---|
|
#18+
igor.kovalchukнепоймучка, вся проблема в том, что Accessa на рабочем месте нету. Отчего-то компания офис без него только разрешила юзать. А времянка поможет ? Это не проблема. Чтобы создать и обработать времянки в mdb-файле, сам MSAccess не нужен. Можно все сделать в VBA Excel через объекты доступа к данным (тот же ADODB, который вы в своем коде используете). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 11:02 |
|
||
|
|

start [/forum/topic.php?fid=45&gotonew=1&tid=1612073]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
165ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 500ms |

| 0 / 0 |
