Почему тормозит INFORMATION_SCHEMA

240
21 июля 2018, 09:00

Собственно говоря есть у меня огромная база, на несколько террабайт. Хочу вытащить FK для нее, где-то таким запросом

SELECT 
    kcu.`TABLE_NAME` AS dstTable,
    kcu.`COLUMN_NAME` AS dstColumn
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu
WHERE kcu.REFERENCED_TABLE_SCHEMA = :schemaName 
    AND kcu.REFERENCED_TABLE_NAME = :tableName;
    AND kcu.REFERENCED_COLUMN_NAME = :columnName

Казалось бы ничего страшного. Но ответа приходится ждать по минуте. Может я что-то не так делаю? Как список FK вытягивают SQL клиенты? Может нужно в настройках что-то приписать?

MySQL 5.5.54-0+deb8u1

Answer 1

Все оказалось намного проще

SET @PREV_STATE = @@GLOBAL.innodb_stats_on_metadata;
SET GLOBAL innodb_stats_on_metadata=0;
SELECT 
    kcu.`TABLE_NAME` AS dstTable,
    kcu.`COLUMN_NAME` AS dstColumn
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu
WHERE kcu.REFERENCED_TABLE_SCHEMA = :schemaName 
    AND kcu.REFERENCED_TABLE_NAME = :tableName
    AND kcu.REFERENCED_COLUMN_NAME = :columnName;
SET GLOBAL innodb_stats_on_metadata=@PREV_STATE;
READ ALSO
Запрос всех значений полей MySQL

Запрос всех значений полей MySQL

Имеется таблица product с большим количеством полей

217
SQL запросы космические пираты [закрыт]

SQL запросы космические пираты [закрыт]

Помогите с задачкой, пожалуйстаЯ даже понять не могу, как связываются таблицы :(

227
Slick slider: увеличение центральной картинки

Slick slider: увеличение центральной картинки

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

682
Перезагрузка страницы при клике на <button>

Перезагрузка страницы при клике на <button>

Есть блок выше кнопок под названием <div class="btnxxx"> в котором кнопки и после нажатия они меняются , я бы хотел чтобы была перезагрузка страницы,...

209