|
Abstract syntax tree
|
|||
---|---|---|---|
#18+
Вопрос по abstract syntax tree применительно к sql. Допустим есть такой запрос Select a+b,c from table where d =3 Тут все относительно просто. Выбираются из таблицы a,b,c,d, делается фильтр по d, считается выражение. Все. допустим есть такой запрос. Select max(a+b), c from table Как я понимаю все будет выглядеть так. Выборка a,b,c. Считается выражение, потом сортировка, группировка и вычисление max. А вот если так. Select max(a+b)-min(d),u from table group by u Опять же. Как я представляю . Выборка a,b,d,u Вычисление a+b Сортировка,группировка по u и вычисление агрегатов. А уже потом вычитание одного агрегата из другого. Как выполнение организовать последнего запроса более менее понятно . А вот как будет в этом случае выглядеть ast? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2019, 16:24 |
|
Abstract syntax tree
|
|||
---|---|---|---|
#18+
Swv, здесь звучит сразу 2 вопроса. Как будет выглядеть синтексическое дерево и как будет выглядеть план выполнения запроса в БД. Это два очень разные вопроса и их надо задавать отдельно. Все что связанно с сортировкой и группировкой к AST имеет очень очень мало отношения. Это разные уровни приложения и их не надо смешивать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2019, 16:36 |
|
Abstract syntax tree
|
|||
---|---|---|---|
#18+
maytonКак будет выглядеть синтексическое дерево и как будет выглядеть план выполнения запроса в БД. Это два очень разные вопроса и их надо задавать отдельно. Возможно ТС имеет в виду АСТ как раз для представления плана выполнения, как некоторого внутреннего языка движка SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2019, 17:06 |
|
|
start [/forum/topic.php?fid=16&msg=39778327&tid=1339988]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
169ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 277ms |
0 / 0 |