Вопросы с тегом «join»

17
Что является более эффективным, предложение where или объединение с миллионами таблиц строк?

У нас есть веб-сайт с 250-миллиметровыми строками в одной таблице, а в другой, к которой мы присоединяемся, для большинства запросов чуть менее 15-миллиметровых строк. Примерные структуры: MasterTable (Id, UserId, Created, Updated...) -- 15MM Rows DetailsTable (Id, MasterId, SomeColumn...) -- 250MM...

16
Индекс первичного ключа не используется в простом соединении

У меня есть следующие таблицы и определения индекса: CREATE TABLE munkalap ( munkalap_id serial PRIMARY KEY, ... ); CREATE TABLE munkalap_lepes ( munkalap_lepes_id serial PRIMARY KEY, munkalap_id integer REFERENCES munkalap (munkalap_id), ... ); CREATE INDEX idx_munkalap_lepes_munkalap_id ON...

16
Своеобразный случай синтаксиса внешнего соединения Oracle

Я видел следующее в запросе, который должен был быть перенесен из синтаксиса внешнего соединения Oracle в стандартный синтаксис внешнего соединения SQL: SELECT ... FROM A, B, C, D, E WHERE A.A_ID = B.A_ID AND B.B_ID = C.A_ID(+) AND B.B_KEY = C.B_KEY(+) AND C.C_ID = D.C_ID(+) AND B.A_ID = E.A_ID(+)...

16
Почему подзапрос использует параллелизм, а объединение - нет?

Почему сервер SQL использует параллелизм при выполнении этого запроса, который использует подзапрос, но не при использовании соединения? Объединенная версия запускается последовательно и занимает около 30 раз больше времени. Регистрация версии: ~ 30 сек Версия подзапроса: <1секунда...

15
УДАЛИТЬ строки, на которые нет ссылок в другой таблице

У меня есть две таблицы в базе данных PostgreSQL 9.3: Таблица link_replyимеет внешний ключ, which_groupуказывающий на таблицу link_group. Я хочу удалить все строки, из link_groupкоторых не существует связанных строк link_reply. Звучит достаточно просто, но я боролся с этим. Будет ли что-то простое,...

15
Рекурсивное само присоединение

У меня есть commentsтаблица, которая может быть упрощена до этого: comments ======= id user_id text parent_id где parent_idобнуляется, но может быть ключом для родительского комментария. Теперь, как я могу selectвсе потомки конкретного комментария? Комментарии могут быть на несколько уровней ниже...

14
Оптимизировано ли соединение для предложения where во время выполнения?

Когда я пишу запрос, как это ... select * from table1 t1 join table2 t2 on t1.id = t2.id Оптимизатор SQL, не уверен, что это правильный термин, переводит это в ... select * from table1 t1, table2 t2 where t1.id = t2.id По сути, является ли оператор Join в SQL Server простым способом написания SQL?...

14
Сопоставление одного столбца с несколькими значениями без самостоятельной таблицы в MySQL

У нас есть таблица, которую мы используем для хранения ответов на вопросы. Мы должны быть в состоянии найти пользователей, которые имеют определенные ответы на конкретные вопросы. Итак, если наша таблица состоит из следующих данных: user_id question_id answer_value Sally 1 Pooch Sally 2 Peach John...

13
Почему PostgreSQL выбирает более дорогой порядок соединения?

PostgreSQL с использованием значений по умолчанию, плюс default_statistics_target=1000 random_page_cost=1.5 Версия PostgreSQL 10.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 6.4.0) 6.4.0, 64-bit Я пылесосил и анализировал. Запрос очень прост: SELECT r.price FROM account_payer ap JOIN...

13
Почему я не могу использовать нулевые значения в соединениях?

Я решил проблему запроса с помощью ... row_number() over (partition by... это более общий вопрос о том, почему мы не можем использовать столбцы с нулевыми значениями в соединениях. Почему ноль не может быть равен нулю ради...

13
Почему этот LEFT JOIN работает намного хуже, чем LEFT JOIN LATERAL?

У меня есть следующие таблицы (взяты из базы данных Sakila): film: film_id это pkey actor: actor_id - это pkey film_actor: film_id и actor_id - это ключи к фильму / актеру Я выбираю конкретный фильм. Для этого фильма я также хочу, чтобы все актеры участвовали в этом фильме. У меня есть два запроса...

13
Запрос выбора максимального значения при соединении

У меня есть таблица пользователей: |Username|UserType|Points| |John |A |250 | |Mary |A |150 | |Anna |B |600 | и уровни |UserType|MinPoints|Level | |A |100 |Bronze | |A |200 |Silver | |A |300 |Gold | |B |500 |Bronze | И я ищу запрос, чтобы получить уровень для каждого пользователя. Что-то вроде:...

13
Лучше ли разделить большой запрос на несколько меньших?

Существуют ситуации, которые требуют, чтобы действительно большой запрос соединял несколько таблиц вместе с операторами выбора в них для получения желаемых результатов. Мой вопрос заключается в том, следует ли нам рассмотреть возможность использования нескольких небольших запросов и перенести...

13
Должен ли я использовать SQL JOIN или IN предложение?

У меня есть вопрос о лучшем подходе. Я не уверен, какой подход лучше, когда данные считаются переменными по размеру. Рассмотрим следующие 3 ТАБЛИЦЫ: СОТРУДНИК EMPLOYEE_ID, EMP_NAME ПРОЕКТ PROJECT_ID, PROJ_NAME EMP_PROJ (много ко многим из двух таблиц выше) EMPLOYEE_ID, PROJECT_ID Проблема : По...

12
Что [ОТ x, y] означает в Postgres?

Я только начинаю с Postgres. Читая этот документ, я наткнулся на этот запрос: SELECT title, ts_rank_cd(textsearch, query) AS rank FROM apod, to_tsquery('neutrino|(dark & matter)') query WHERE query @@ textsearch ORDER BY rank DESC LIMIT 10; Я могу понять все , что в этом запросе, за исключением...

12
Условия Postgres JOIN против условий WHERE

Постгрес новичок здесь. Мне интересно, оптимизирован ли этот запрос или нет? Я попытался присоединиться только к тем значениям, которые на 100% необходимы, и оставил все динамические условия в предложении WHERE. См. ниже. SELECT * FROM myapp_employees JOIN myapp_users ON...