|
|
|
Создание сложной вьюхи
|
|||
|---|---|---|---|
|
#18+
LumixХотя не знаю какие именно навороты имеются ввидуВам уже привели цитату из мана, причём практически в начале топика: MERGE cannot be used if the view contains any of the following constructs: Aggregate functions (SUM(), MIN(), MAX(), COUNT(), and so forth) DISTINCT GROUP BY HAVING LIMIT UNION or UNION ALL Subquery in the select list Refers only to literal values (in this case, there is no underlying table) Lumixникаких where limit и order byLumixа так же order by и limitВы уж как-нибудь определитесь, есть оно у вас или нет... Lumixи получает аггрегированную записьэто вы намекнули о наличии group by во вьюшках или что-то другое имели в виду? Lumixто есть младшим кодерам, которые пишут основное клиентское мясо нет нужны вникать во взаимосвязи справочников и журналов между собой - это соберет их старшина, а так же нет надобности вникать в систему прав доступа - все это уже зашито под капот вьюх - просто бери и работай по простому интерфейсу getData({ ... }) и не парься...Это всё нормально бы работало, будь у вас в качестве субд постгрес. Или оракл. Или мсскл. Или {впишите_свой_вариант}, но не майскуль. По причинам, описанным выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 05:11:27 |
|
||
|
Создание сложной вьюхи
|
|||
|---|---|---|---|
|
#18+
задача, на самом деле, сложная, и в обшем виде решения не имеет. Даже на Оракле с его "предикат пуш" выставление наружу сложных вьюшек может стать проблемой: незная сложности вьюшки -- солдаты в траншеях легко зафигачат еше парочку жоинтов и убьют нафиг сервер. И никакой оптимизатор не поможет. Задача решается конкретным рассмотрение вопроса на месте, анализом. Например, в недавней аналогичной ситуации я пошел по пути материализации -- раз в час обновляется несколько промежуточных таблиц с перестройкой индекса. А из этих таблиц уже растет дерево быстрый селектов. Пришлось обьяснять народу что часовая задержка им погоды не поменяет (в конкретном контексте конкретной задачи). В другом месте есть СКЛ в стринговой переменной и к ней цепляется динамически-сгенерированый where блок. Красиво -- не очень, работает правильно и быстро -- да! Автору топика -- ваше решение с 25-ю вложеных вьюшек, и отдать его в трашеи -- сработает на таблицах из 10 строчек, потом -- умрет на одном неосторожном жоинте. Автору топика -- вы сами себя обделили, скрыв половину задачи и половину граничных условий (например -- какойто левый генератор). Если вы потрудитесь прочитать несколь предыдуших обсуждений, то увидите кто теже Сударь, Акина серьезно помогают тем кто хорошо и добросовестно описывает задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 06:48:05 |
|
||
|
Создание сложной вьюхи
|
|||
|---|---|---|---|
|
#18+
tanglirLumixникаких where limit и order byLumixа так же order by и limitВы уж как-нибудь определитесь, есть оно у вас или нет... 1) при создании вьюх никаких where нет - только джоины 2) когда клиенты по этим вьюхам выбирают селектом данные, то там есть только where, order, limit tanglirLumixи получает аггрегированную записьэто вы намекнули о наличии group by во вьюшках или что-то другое имели в виду? Никаких группировок нету, ни во вьюхах ни в клиентских селектах. tanglirLumixто есть младшим кодерам, которые пишут основное клиентское мясо нет нужны вникать во взаимосвязи справочников и журналов между собой - это соберет их старшина, а так же нет надобности вникать в систему прав доступа - все это уже зашито под капот вьюх - просто бери и работай по простому интерфейсу getData({ ... }) и не парься...Это всё нормально бы работало, будь у вас в качестве субд постгрес. Или оракл. Или мсскл. Или {впишите_свой_вариант}, но не майскуль. По причинам, описанным выше. О!))) Не хочу вас пугать, но всей этой архитектурной заманухе ещё предстоит крутиться на WebDB)))) А он вроде с sqlite форкнут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 22:37:28 |
|
||
|
Создание сложной вьюхи
|
|||
|---|---|---|---|
|
#18+
LumixWebDBЧто за зверь? поиск дает несколько вариантов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 22:42:03 |
|
||
|
Создание сложной вьюхи
|
|||
|---|---|---|---|
|
#18+
javajdbcзадача, на самом деле, сложная, и в обшем виде решения не имеет. Даже на Оракле с его "предикат пуш" выставление наружу сложных вьюшек может стать проблемой: незная сложности вьюшки -- солдаты в траншеях легко зафигачат еше парочку жоинтов и убьют нафиг сервер. И никакой оптимизатор не поможет. В нашем случае клиентских джоинов вообще быть не может. Никто не даст младшим кодерам делать джоины с вьюхами. Это ловится синтаксически и если будет найдено, то автору за это будут устраиваться "анальные кары". javajdbcАвтору топика -- ваше решение с 25-ю вложеных вьюшек, и отдать его в трашеи -- сработает на таблицах из 10 строчек, потом -- умрет на одном неосторожном жоинте. Я вас попрошу раскрыть содержание термина неосторожный джоин. На данный момент у нас пока только натуральные и левые джоины и они есть только на стадии создания вьюх. На стадии использования вьюх джоинов нет (в клиентских селектах). Что же такое неосторожный джоин и чем он отличается от осторожного? Может вы просто пользуясь своей завышенной квалификацией пытаетесь меня напугать, внушить мне страх? :-) Бесполезно. Я очень внимательно слежу за формулировками. javajdbcАвтору топика -- вы сами себя обделили, скрыв половину задачи и половину граничных условий (например -- какойто левый генератор). Я вообще не понимаю при чем тут автоматизация??? Что вы все заладили про автоматизацию??? Какая разница я вручную соберу запрос на создание вьюхи или скриптом, какая разница я вручную перечислю поля таблицы или скриптом из конфигурации схемы данных??? Это не имеет значения к решаемой задаче! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 22:47:07 |
|
||
|
Создание сложной вьюхи
|
|||
|---|---|---|---|
|
#18+
miksoftLumixWebDBЧто за зверь? поиск дает несколько вариантов... Встроенная в бразуер база данных, которая управляется через javascript. http://en.wikipedia.org/wiki/Web_SQL_Database ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 22:53:11 |
|
||
|
Создание сложной вьюхи
|
|||
|---|---|---|---|
|
#18+
Lumixmiksoftпропущено... Что за зверь? поиск дает несколько вариантов... Встроенная в бразуер база данных, которая управляется через javascript. http://en.wikipedia.org/wiki/Web_SQL_Database А, ну да, вспомнил где я это видел :) А поиск мне почему-то чаще Oracle WebDB показывал. LumixА он вроде с sqlite форкнут.Глянул в доку, оказывается в Sqlite есть VIEW. А я думал он совсем убогий... А почему отлаживаетесь на MySQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 23:00:29 |
|
||
|
Создание сложной вьюхи
|
|||
|---|---|---|---|
|
#18+
miksoftА почему отлаживаетесь на MySQL? Потому что эта замануха должна будет работать и в браузере и на сервере тоже, а на сервере стоит mysql (правда mariaDB, если быть точным). Главное, чтобы для младших кодеров принципы работы выглядели одинаковыми, чтобы им приходилось меньше учиться и меньше думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 13:32:49 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38533881&tid=1835353]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
21ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 297ms |

| 0 / 0 |
