Вы можете переписать свой запрос, используя соединения. Это сделает его более читаемым, но не быстрее.
SELECT *
FROM tfdata
JOIN linkdata ON tfdata.web = linkdata.web
JOIN gndata ON tfdata.web = gndata.web
JOIN serdata ON tfdata.web = serdata.web
WHERE tfdata.web = 'some_uri'
Одно из преимуществ (но не единственный) этого синтаксиса является то, что она делает его легче изменить с помощью внутреннего соединения с внешним соединением.
Чтобы оптимизировать, я бы сначала начал с запуска EXPLAIN SELECT ...
, чтобы проверить, что у вас есть индекс в столбце web
на каждой таблице и что этот индекс фактически используется оптимизатором. Если индекс отсутствует, добавление его, скорее всего, улучшит скорость вашего запроса.
Если запрос возвращает много строк или столбцов, вы можете повысить производительность за счет возврата только нужных столбцов и только возвращения первых нескольких строк и реализации подкачки, если вы хотите увидеть еще несколько строк.
Пожалуйста, разместите вывод 'SHOW CREATE TABLE ...' для каждой таблицы и вывода 'EXPLAIN SELECT ...'. –