Size: a a a

DBA - русскоговорящее сообщество

2021 June 10

К

Какой-то Хмырь... in DBA - русскоговорящее сообщество
мб запрос выложишь? а то не очень понятно
источник

Д

Денис in DBA - русскоговорящее сообщество
Я бы рад, но по приказу информационной безопасности нашего предприятия, увы.
источник

К

Какой-то Хмырь... in DBA - русскоговорящее сообщество
я тогда хз чем помочь.
оформи свой запрос, как подзапрос и из него тягай данные спокойно
источник

А

Артем in DBA - русскоговорящее сообщество
Как можно написать этот запрос более грамотно?
SELECT r0116.p01 as grif, r5602.p01 AS header_genetive,
r5602.p03 AS header_dative, r9013.p02 AS header_genetive_short, year,
(select p01 from r9057 where p00 = r9057_1) AS first_sign_post,
(select p01 from r4058 where p00 = r4058_1) AS first_sign_rank,
(select p01 from r9097 where p00 = r9097_1) AS first_sign_surname,
(select p01 from r9057 where p00 = r9057_2) AS second_sign_post,
(select p01 from r4058 where p00 = r4058_2) AS second_sign_rank,
(select p01 from r9097 where p00 = r9097_2) AS second_sign_surname
FROM dir_orgaction_list
LEFT JOIN r0116 ON(r0116.p00 = r0116)
LEFT JOIN r9013 ON(r9013.p00 = r9013)
LEFT JOIN r5602 ON(r5602.p04 = r9013.p01)
WHERE id = 6

Единственная идея пока, дописать в LEFT JOIN подзапросы, которые вызываются, можно ли ещё как-то улучшить?
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Учи SQL, Денис!
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
А что тут не нравится?
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
А у меня такое предложение — назвать таблицы по-нормальному...
источник

E

Etki in DBA - русскоговорящее сообщество
Ты сейчас задаешь вопрос разряда "как фильтровать данные при их форматировании". Это две разных операции.
источник
2021 June 11

S

S in DBA - русскоговорящее сообщество
#SQL(Firebird)

Подскажите хорошую книгу/какой-либо ресурс для изучения SQL(Firebird).

* С каким-либо БД абсолютно никогда ещё не работал.
источник

AS

Anton Shlyakhov (Shl... in DBA - русскоговорящее сообщество
источник

А

Артем in DBA - русскоговорящее сообщество
Подзапросы не нравятся, думаю как можно оптимизировать. Через LEFT JOIN ничего хорошего не получилось. Исправить я не могу потом что это классификаторы, у них нельзя менять название таблиц и данные в них
источник

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
подзапросы нормально смотрятся
источник

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
хотя можно оптимизировать, если вынесешь в left join таблицы, т.к. у тебя таблицы повторяются в подзапросе, получается по одной и той же таблице ты несколько раз лишних проходов совершаешь
источник

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
подзапросы проще читаются, но вот для субд join может оказаться более лучшим решением. Тут все конечно зависит от оптимизатора, но через join план запроса составляется быстрее, если память не изменяет, а значит и сам запрос отработает быстрее. Иногда на производительность не влияет и делается т.к. удобнее.
источник

E

Etki in DBA - русскоговорящее сообщество
А вы ещё спрашиваете что не так с маководами
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Ну, напиши по JOINу вместо каждого подзапроса, если больше нравится...
Так-то что в лоб, что по лбу — всё равно больно...
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
нифига он не лучше. Ровно то же самое.
источник

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
И все-таки я полез проверить)) Вот простой пример, число просмотров и чтений что при соединении, что при подзапросе одинаковое, казалось бы все прекрасно, пиши как больше нравится. Но подзапрос скрывает в себе маленькую доп работу - он заставляет оптимизатор преобразовать подзапрос к тому самому left join и построить план. Не сильно тяжелая, но все же лишняя работа
источник

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
источник

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
источник