powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Есть ли для скорости польза от СВЯЗИ таблиц
14 сообщений из 14, страница 1 из 1
Есть ли для скорости польза от СВЯЗИ таблиц
    #39210633
Адеке
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброй ночи.
Скажите, есть ли для скорости выполнения запросов польза от СВЯЗИ таблиц? Ведь в самом запросе я же все равно связываю их даже если таблицы сами по себе не связаны. Или все-таки изначальная связь самих таблиц ускоряет выполнение запроса?
...
Рейтинг: 0 / 0
Есть ли для скорости польза от СВЯЗИ таблиц
    #39210648
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет.
Связи таблиц (т.е. внешние ключи) существуют для контроля вставляемых/изменяемых данных, т.е. для обеспечения их логической целостности.

На выборки они не влияют, разве что где-то индекс подвернется подходящий, который был для внешнего ключа создан. На да его можно и так создать.
...
Рейтинг: 0 / 0
Есть ли для скорости польза от СВЯЗИ таблиц
    #39210692
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,
если под связью понимается наличие FK, то иногда в некоторых СУБД это дает выигрыш, за счет того, что часть запроса не выполняется, потому что это условие гарантируется наличием foreign key. сам лично видел такое на Oracle.
в MySQL такого быть не может, поскольку на уровне ядра mySQL не поддерживает fk constraint, ну знает о их существовании, и соответственно не может их использовать.
...
Рейтинг: 0 / 0
Есть ли для скорости польза от СВЯЗИ таблиц
    #39210733
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Адекеесть ли для скорости выполнения запросов польза от СВЯЗИ таблиц?Нет.
...
Рейтинг: 0 / 0
Есть ли для скорости польза от СВЯЗИ таблиц
    #39211542
Адеке
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем.
...
Рейтинг: 0 / 0
Есть ли для скорости польза от СВЯЗИ таблиц
    #39211548
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АдекеВсем доброй ночи.
Скажите, есть ли для скорости выполнения запросов польза от СВЯЗИ таблиц? Ведь в самом запросе я же все равно связываю их даже если таблицы сами по себе не связаны. Или все-таки изначальная связь самих таблиц ускоряет выполнение запроса?

уточнение по терминологии:
СВЯЗИ таблиц могут иметь 4 значния:

логическое/концептуальное : по условию бизнеса
обьекты связаны

физическое -- имеются полЯ в таблицах в которых
находятся данные по которым можно связать таблицы

форенг ки -- внешнуй ключ -- обьект базы данных который
в явном виде указывает на связку

енфорсед форенг ки -- "включеный" внешний ключ --
ключ который база не только декларирует но и проверяет.
...
Рейтинг: 0 / 0
Есть ли для скорости польза от СВЯЗИ таблиц
    #39211863
Адеке
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javajdbc,

Спасибо за грамотУ.
В таком случае в грамотном порядке мой вопрос звучил бы так:
Есть ли для скорости выполнения запроса польза от "enforced foreign key" в то время как сам "foreign key" есть (но не "enforced") и по нему идет INNER JOIN в запросе.
И ответ был: От "Enforced" нет пользы для скорости запроса. Он отвечает только за целостность.
...
Рейтинг: 0 / 0
Есть ли для скорости польза от СВЯЗИ таблиц
    #39212065
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторMySQL requires indexes on foreign keys and referenced keys so that foreign key checks can be fast and not require a table scan. In the referencing table, there must be an index where the foreign key columns are listed as the first columns in the same order. Such an index is created on the referencing table automatically if it does not exist. This index might be silently dropped later, if you create another index that can be used to enforce the foreign key constraint. index_name, if given, is used as described previously.
...
Рейтинг: 0 / 0
Есть ли для скорости польза от СВЯЗИ таблиц
    #39212066
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторв MySQL такого быть не может, поскольку на уровне ядра mySQL не поддерживает fk constraint, ну знает о их существовании, и соответственно не может их использовать.
...
Рейтинг: 0 / 0
Есть ли для скорости польза от СВЯЗИ таблиц
    #39212067
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Есть ли для скорости польза от СВЯЗИ таблиц
    #39212069
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html MySQL supports foreign keys, which let you cross-reference related data across tables, and foreign key constraints, which help keep this spread-out data consistent.
...
Рейтинг: 0 / 0
Есть ли для скорости польза от СВЯЗИ таблиц
    #39212072
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrow,

Внешние ключи поддерживаются движком InnoDB, а не ядром, насколько я в курсе.
...
Рейтинг: 0 / 0
Есть ли для скорости польза от СВЯЗИ таблиц
    #39212082
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftScareCrow,

Внешние ключи поддерживаются движком InnoDB, а не ядром, насколько я в курсе.

innodb и есть ядро.
...
Рейтинг: 0 / 0
Есть ли для скорости польза от СВЯЗИ таблиц
    #39212092
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowmiksoftScareCrow,

Внешние ключи поддерживаются движком InnoDB, а не ядром, насколько я в курсе.

innodb и есть ядро.Нет, это плагин.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Есть ли для скорости польза от СВЯЗИ таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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