powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Создание сложной вьюхи
8 сообщений из 33, страница 2 из 2
Создание сложной вьюхи
    #38533873
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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({ ... }) и не парься...Это всё нормально бы работало, будь у вас в качестве субд постгрес. Или оракл. Или мсскл. Или {впишите_свой_вариант}, но не майскуль. По причинам, описанным выше.
...
Рейтинг: 0 / 0
Создание сложной вьюхи
    #38533881
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
задача, на самом деле, сложная, и в обшем виде решения не имеет.
Даже на Оракле с его "предикат пуш" выставление наружу
сложных вьюшек может стать проблемой:
незная сложности вьюшки -- солдаты в траншеях легко зафигачат
еше парочку жоинтов и убьют нафиг сервер.
И никакой оптимизатор не поможет.

Задача решается конкретным рассмотрение вопроса на месте,
анализом. Например, в недавней аналогичной ситуации я пошел
по пути материализации -- раз в час обновляется несколько
промежуточных таблиц с перестройкой индекса.
А из этих таблиц уже растет дерево быстрый селектов.
Пришлось обьяснять народу что часовая задержка им
погоды не поменяет (в конкретном контексте конкретной задачи).

В другом месте есть СКЛ в стринговой переменной
и к ней цепляется динамически-сгенерированый where блок.
Красиво -- не очень, работает правильно и быстро -- да!

Автору топика -- ваше решение с 25-ю вложеных вьюшек,
и отдать его в трашеи -- сработает на таблицах из 10 строчек,
потом -- умрет на одном неосторожном жоинте.

Автору топика -- вы сами себя обделили, скрыв половину задачи
и половину граничных условий (например -- какойто левый генератор).
Если вы потрудитесь прочитать несколь предыдуших обсуждений,
то увидите кто теже Сударь, Акина серьезно помогают тем
кто хорошо и добросовестно описывает задачи.
...
Рейтинг: 0 / 0
Создание сложной вьюхи
    #38534975
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirLumixникаких where limit и order byLumixа так же order by и limitВы уж как-нибудь определитесь, есть оно у вас или нет...

1) при создании вьюх никаких where нет - только джоины
2) когда клиенты по этим вьюхам выбирают селектом данные, то там есть только where, order, limit


tanglirLumixи получает аггрегированную записьэто вы намекнули о наличии group by во вьюшках или что-то другое имели в виду?

Никаких группировок нету, ни во вьюхах ни в клиентских селектах.


tanglirLumixто есть младшим кодерам, которые пишут основное клиентское мясо нет нужны вникать во взаимосвязи справочников и журналов между собой - это соберет их старшина, а так же нет надобности вникать в систему прав доступа - все это уже зашито под капот вьюх - просто бери и работай по простому интерфейсу getData({ ... }) и не парься...Это всё нормально бы работало, будь у вас в качестве субд постгрес. Или оракл. Или мсскл. Или {впишите_свой_вариант}, но не майскуль. По причинам, описанным выше.

О!))) Не хочу вас пугать, но всей этой архитектурной заманухе ещё предстоит крутиться на WebDB)))) А он вроде с sqlite форкнут.
...
Рейтинг: 0 / 0
Создание сложной вьюхи
    #38534978
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LumixWebDBЧто за зверь? поиск дает несколько вариантов...
...
Рейтинг: 0 / 0
Создание сложной вьюхи
    #38534984
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcзадача, на самом деле, сложная, и в обшем виде решения не имеет.
Даже на Оракле с его "предикат пуш" выставление наружу
сложных вьюшек может стать проблемой:
незная сложности вьюшки -- солдаты в траншеях легко зафигачат
еше парочку жоинтов и убьют нафиг сервер.
И никакой оптимизатор не поможет.

В нашем случае клиентских джоинов вообще быть не может. Никто не даст младшим кодерам делать джоины с вьюхами. Это ловится синтаксически и если будет найдено, то автору за это будут устраиваться "анальные кары".


javajdbcАвтору топика -- ваше решение с 25-ю вложеных вьюшек,
и отдать его в трашеи -- сработает на таблицах из 10 строчек,
потом -- умрет на одном неосторожном жоинте.

Я вас попрошу раскрыть содержание термина неосторожный джоин. На данный момент у нас пока только натуральные и левые джоины и они есть только на стадии создания вьюх. На стадии использования вьюх джоинов нет (в клиентских селектах).

Что же такое неосторожный джоин и чем он отличается от осторожного?

Может вы просто пользуясь своей завышенной квалификацией пытаетесь меня напугать, внушить мне страх? :-) Бесполезно. Я очень внимательно слежу за формулировками.

javajdbcАвтору топика -- вы сами себя обделили, скрыв половину задачи
и половину граничных условий (например -- какойто левый генератор).

Я вообще не понимаю при чем тут автоматизация??? Что вы все заладили про автоматизацию??? Какая разница я вручную соберу запрос на создание вьюхи или скриптом, какая разница я вручную перечислю поля таблицы или скриптом из конфигурации схемы данных??? Это не имеет значения к решаемой задаче!
...
Рейтинг: 0 / 0
Создание сложной вьюхи
    #38534986
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftLumixWebDBЧто за зверь? поиск дает несколько вариантов...

Встроенная в бразуер база данных, которая управляется через javascript.
http://en.wikipedia.org/wiki/Web_SQL_Database
...
Рейтинг: 0 / 0
Создание сложной вьюхи
    #38534992
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumixmiksoftпропущено...
Что за зверь? поиск дает несколько вариантов...

Встроенная в бразуер база данных, которая управляется через javascript.
http://en.wikipedia.org/wiki/Web_SQL_Database А, ну да, вспомнил где я это видел :)
А поиск мне почему-то чаще Oracle WebDB показывал.


LumixА он вроде с sqlite форкнут.Глянул в доку, оказывается в Sqlite есть VIEW. А я думал он совсем убогий...
А почему отлаживаетесь на MySQL?
...
Рейтинг: 0 / 0
Создание сложной вьюхи
    #38535525
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftА почему отлаживаетесь на MySQL?

Потому что эта замануха должна будет работать и в браузере и на сервере тоже, а на сервере стоит mysql (правда mariaDB, если быть точным). Главное, чтобы для младших кодеров принципы работы выглядели одинаковыми, чтобы им приходилось меньше учиться и меньше думать.
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Создание сложной вьюхи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]