|
|
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
есть какая нибудь функция или расширение, которые умеет до выполнения запроса определить какие поля из каких таблиц будут использоваться в запросе? например запрос Код: sql 1. 2. 3. вернул бы результат: taba.aac taba.id taba.poleb tabb.cid tabb.id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2016, 15:46 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
Legushka, можно распарсить вывод explain verbose query (поля output). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2016, 16:07 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
Legushkaесть какая нибудь функция или расширение, которые умеет до выполнения запроса определить какие поля из каких таблиц будут использоваться в запросе? например запрос Код: sql 1. 2. 3. вернул бы результат: taba.aac taba.id taba.poleb tabb.cid tabb.id очень странное желание... а если у вас там хранимка вызывается внутри с 20 sql запросами? -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2016, 17:11 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
Legushkaвернул бы результата для такого ввернул бы? Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2016, 19:00 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
Legushka, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Можно было бы и одной ф-ей обойтись, но я не знаю как обзывается единственная колонка в динамическом запросе с `EXPLAIN`, чтобы к ней обратиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2016, 23:24 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
vyegorov, вы очень сильно помогли, то что в теле select он превосходно парсит еще хотелось бы добавить поля используемые в теле where или group by или order by например: Код: sql 1. 2. 3. 4. 5. 6. вернет нам 1, но не вернет t1.x, t2.x хотя они тоже явно используются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2016, 09:41 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
Legushka, Я не понимаю, почему бы просто не сделать руками `EXPLAIN` и не подсмотреть всё там?.. В чём смысл этих манипуляций? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2016, 14:22 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
Legushkavyegorov, вы очень сильно помогли, то что в теле select он превосходно парсит еще хотелось бы добавить поля используемые в теле where или group by или order by например: Код: sql 1. 2. 3. 4. 5. 6. вернет нам 1, но не вернет t1.x, t2.x хотя они тоже явно используются Наркоман что-ли?! результат запроса - 1, какие t1.x t2.x? Где они в результирующей выборке? У тебя по русски написано SELECT 1 FROM... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2016, 14:35 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
Кстати, так критично получать метаданные именно из SQL? Всякие JDBC/ODBC прекрасно умеют получать метаданные для Prepared Statement ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2016, 14:51 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
vyegorovLegushka, Я не понимаю, почему бы просто не сделать руками `EXPLAIN` и не подсмотреть всё там?.. В чём смысл этих манипуляций? например навесить автоматику на вызовы сет-ретурниг ф-ии, с неописанным (заранее) возвратом -- т .е. returning setof record dblink or {plproxy + execute} -- у пж-СКЛ проблема, что тип возврата должен быть описан до того как получен, или хотя бы должен исчисляться на этапе синтакс разбора. а иначе он встанет в позу и начнет материться. типа я не такая -- позднее связывание не умею ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2016, 16:38 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
qwwq, Да, но требуется также знать какие колонки используются “внутри” запроса, для фильтрации и связок. Я этого не понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2016, 17:05 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
dimonz80, вы постановку задачи читали?. надо было не только еденицу из select 1 выводить, но и еще какие поля из каких таблиц участвовали в фильтрах, сортировках, группировках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2016, 20:10 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
Legushka, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. очень вероятно, что не все запросы распарсятся правильно, наверняка что-то не попадёт в фильтры, поправить просто должно быть громоздко, я свернул поля в массивы; заменив массив в определении функции на скаляр и regexp_split_to_array -> regexp_split_to_table поля будут списком функция `explain` без изменений Может и пригодиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2016, 02:11 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
Legushkadimonz80, вы постановку задачи читали?. надо было не только еденицу из select 1 выводить, но и еще какие поля из каких таблиц участвовали в фильтрах, сортировках, группировках. Ну тогда только query plan парсить, да. vyegorov, Кстати, может удобнее в xml/json парсить ( типа EXPLAIN(format json) SELECT bla bla bla) если версия PG позволяет конечно. Какия-никакая структура, а не просто текст. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2016, 05:44 |
|
||
|
есть ли парсер запроса, какие поля из каких таблиц используются в запросе?
|
|||
|---|---|---|---|
|
#18+
dimonz80Legushkadimonz80, вы постановку задачи читали?. надо было не только еденицу из select 1 выводить, но и еще какие поля из каких таблиц участвовали в фильтрах, сортировках, группировках. Ну тогда только query plan парсить, да. vyegorov, Кстати, может удобнее в xml/json парсить ( типа EXPLAIN(format json) SELECT bla bla bla) если версия PG позволяет конечно. Какия-никакая структура, а не просто текст. Творчески переработав решение vyegorov, наговнокодил такое: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Код: sql 1. 2. 3. 4. 5. 6. 7. По хорошему надо поглядеть схему для XML вывода EXPLAIN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2016, 09:12 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39254646&tid=1997166]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 500ms |

| 0 / 0 |
