Я работаю над сайтом обмена изображениями и хочу реализовать теги для изображений.
Я прочитал вопросы #20856 и #2504150
У меня мало проблем с подходом к приведенным выше вопросам. Во-первых, кажется, что связать изображение с тегом несложно. Однако получить изображения по соотношению тегов не так просто. Нелегко, потому что вам нужно будет получить отношение изображения к тегу из одной таблицы, а затем сделать большой запрос с кучей операторов ИЛИ (по одному ИЛИ для каждого изображения).
Еще до того, как я начал исследовать тему тегов, я начал тестировать следующий метод:
Эти таблицы в качестве примера:
Table: Image
Columns: ItemID, Title, Tags
Table: Tag
Columns: TagID, Name
Столбец Теги в таблице Изображение берет строку с несколькими идентификаторами тегов из таблицы Теги, заключенную в дефисы (- ).
Например:
-65-25-105-
Связывает изображение с TagID 65, 25 и 105.
С помощью этого метода мне проще получать изображения по тегу, так как я могу получить TagID с помощью одного запроса и получить все изображения с помощью другого простого запроса, например:
SELECT * FROM Image WHERE Tags LIKE %-65-%
Итак, если я использую этот метод для тегов,
Насколько это эффективно?
Является ли запрос LIKE %-65-% медленным процессом?
С какими проблемами я могу столкнуться в будущем?