Я бы предложил использовать ключевые слова в реляционном смысле, а не иметь их список под одним полем, что приводит к ужасной производительности. Вместо этого вы можете иметь таблицу ключевых слов с идентификаторами в качестве первичных ключей и иметь внешние ключи, относящиеся к первичным ключам mytab
. Таким образом, вы получите следующее:
keywords table
id | mytab_id | keyword
----------------------
1 1 liver
2 1 disease
3 1 varices
4 2 ice
mytab table
id | rest of fields
---------------------
1 ....
2 ....
Затем можно выполнить внутреннее объединение, чтобы найти, какие ключевые слова относятся к указанным записям в mytab
:
SELECT * FROM mytab
JOIN keywords ON keywords.mytab_id = mytab.id
WHERE keyword = 'ice'
Вы также можете добавить ограничение, чтобы убедиться, что пара keyword
и mytab_id
уникальна, чтобы случайно не получить один и тот же keyword
для одной и той же записи в mytab
.