Ну, если у вас есть эти ссылки в одной таблице, вы можете получить их как:
SELECT * FROM table WHERE url LIKE '%example.com%'
Это быстро? НЕТ - потребуется полное сканирование таблицы.
На вашем месте я бы смоделировал свою БД для хранения этих URL в 2 таблицах:
** * 1007 1008 * ссылка
- ID
- * base_url * - содержит example.com
related_links
- ID
- * link_id * - FK для ссылок
- поддомен - содержит www.
- *lative_url * - держит / спорт /
Редактировать - ответить на комментарий:
Ваша БД сейчас не нормализована. Вы держите несколько записей для «одного и того же» - вы не пользуетесь преимуществами БД. БД полезны при работе со структурированными данными - ваш запрос должен выполнять строковые операции - довольно сложные. Таким образом, хотя с текущей формой БД, вероятно, можно будет вернуть результаты, которые вам нужны и которые вы хотите получить, это не будет тривиальной задачей, и, безусловно, производительность будет плохой.
Моя рекомендация - изменить базу данных - по крайней мере, добавить столбцы subdomain
и relative_path
к вашей таблице и хранить эту информацию как можно более раздельно - чтобы иметь возможность выполнять агрегированные запросы к ней.