LINUX.ORG.RU

зачем спрашивать, конечно нет

но если иначе нелзя, то норм

Black_Roland ★★★★
()
Последнее исправление: Black_Roland (всего исправлений: 1)

Нормально. Если данные ещё и кешировать можно то вообще забей.

ritsufag ★★★★★
()
Ответ на: комментарий от Debasher

Я 8 видел

8? Поискал тут в одном проекте sql-файлы побольше размером.

user@pc:$ grep -ci 'join' SvdFiderPES.sql 
56
Хотя конечно джойны там вложенные.

orm-i-auga ★★★★★
()

пять... пф... слабак.

я опытным путем определил что у мускуля есть (как минимум был) предел в 64 джоина и только потом прочитал это в документации.

Rastafarra ★★★★
()

и собственно почему нет-то?

Rastafarra ★★★★
()

Мне народ, делавший аналитику по данным из sap crm показывал запрос на 600 строк. Так что 5 - это редкостная фигня.

Nagwal ★★★★
()

У меня в запросах до 15 доходило.

Deleted
()
Ответ на: комментарий от Nagwal

Мне в одной отчётной системе приходилось править как-то sql'ники на несколько тысяч строк. Такой запрос легче написать заново, чем распарсить.

orm-i-auga ★★★★★
()

это SQL, детка.

anonymous
()

Пять джоинов подряд — это норма?

Если у тебя структура построена по принципу EAV, то это ещё мало. Там, во многих случаях, каждый дополнительный критерий для поиска добавляет один join, и этого избежать никак нельзя.

risenshnobel ★★★
()

ых, не видели вы извращений...

у меня есть компилятор на sql.

Rastafarra ★★★★
()
Ответ на: комментарий от orm-i-auga

приходилось править как-то sql'ники на несколько тысяч строк. Такой запрос легче написать заново, чем распарсить.

В 1С такое сплошь и рядом. Типа «рассчитать НДФЛ по предприятию в разрезе сотрудников, нарастающим итогом с начала года, с учётом вычетов и ограничений на эти вычеты» — 1000 строк, 55 join'ов. Или ведомость по амортизации ОС — 1609 строк.

Но работать с ними удобно так как есть замечательная штука: Конструктор Запросов — http://programmist1s.ru/opisanie-konstruktora-zaprosov-1s/

Пользуясь случаев, спрошу: может кто-то видел аналог для написания SQL запросов? А то каждый раз страдаю, как что-то сложнее пяти строк набирать приходится :-(

monk ★★★★★
()
Ответ на: комментарий от vurdalak

Use IDE

Какое? Желательно для postgreSQL. Искал — всюду убожество в стиле MS SQL, где больше десятка таблиц в одном запросе нереально использовать (особенно если соединения нетривиальные).

Learn SQL

Так я его знаю. Просто набросать полями и проставить соединения (особенно если FOREIGN KEY автоматом предлагается) на порядок быстрее, чем написать вручную (даже с учётом копипаста).

monk ★★★★★
()

Пример бы ваших join-ов увидеть, чтоб не фантазировать лишнего.

anonymous
()

это нормально при адекватно нормализованной БД.

x0r ★★★★★
()
Последнее исправление: x0r (всего исправлений: 1)

5 это детский сад. У меня генератор гридов и по 15 генерирует.

Ты вот лучше скажи - вот есть два стула два поля, и запрос

select a,b from foo where a = ? and b = ?
и индекс
create index foo_ix on foo (*,*) 
Какую звездочку на a заменишь, какую под b оценишь?

lovesan ★★
()
Ответ на: комментарий от monk

есть замечательная штука: Конструктор Запросов

а он разве не почти-SQL строит ? то есть его результат и есть практически SQL если помнить про 1С-ные прибамбасы (типа регистров, если память не изменяет)..

кстати вотзря 1C ругают, реально ХОРОШАЯ система - выпусти они систему под свободной лицензией хотя бы на ядро (даже не на конфигурации) в миг положили бы всякие GNU-недо-cash и отъели не менее половины web-магазинов на свою платформу

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

а он разве не почти-SQL строит ?

Именно его и строит (с точностью до перевода ключевых слов на русский). И, самое главное, не только строит, но и разбирает любой корректный запрос. Потому и спрашиваю, есть ли такое для PostgreSQL.

Кстати в SQL от 1C есть ещё пара удобных штук

1. Неявные соединения через точку:

CREATE TABLE t1 (id INT PRIMARY KEY, str VARCHAR(10) str);
CREATE TABLE t2 (id INT PRIMARY KEY, t1_ref INT REFERENCES t1, str2 VARCHAR(10))

SELECT t1_ref.str, str2 FROM t2

2. Итоги. В конце пишешь «TOTALS SUM(f1), MAX(f2) BY gr1, gr2» и получаешь подитоги колонок f1 и f2 по группировкам gr1 и gr2.

monk ★★★★★
()
Ответ на: комментарий от MKuznetsov

выпусти они систему под свободной лицензией хотя бы на ядро (даже не на конфигурации)

А деньги на чём зарабатывать? Свободные конфигурации, кстати есть. А все типовые полностью открытые (в смысле с исходниками).

monk ★★★★★
()
Ответ на: комментарий от monk

Есть, например, платный DbVisualizer, с бесплатной ограниченной по функциональности версией. Но конкретно конструктор запросов я там никогда не использовал, не знаю на что он способен.

orm-i-auga ★★★★★
()

У нас в проекте на ~300 запросов был всего один join

vromanov ★★
()

Вполне себе норма. Вот если бы не было ни одного, был бы повод задуматься о денормализованном состоянии базы.

kawaii_neko ★★★★
()

да это норма, в моем прошлом проекте успешно генерировались запросы с произвольным кол-во джойнов (на одном бизнес объекте до 20-30 доходило)

Deleted
()

Всем спасибо, вы меня прямо успокоили.

crowbar
() автор топика
Ответ на: комментарий от Nagwal

хибернейт какой, небось, или другое подобное поделие?

leave ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.