我从一个媒体表开始,用于存储一个包含 100 万张图像和 1000 部电影的目录树的基本信息(id、路径、文件名、mime、文件大小、md5 等)。我需要添加一些主要与电影相关的新列(标题、描述、运行时),并且需要查询标题匹配。有 1+ 百万行没有标题,我认为我不应该将其他列添加到“媒体”,因为它会给我 1+ 百万空/空行,它不适用。我有一个media_meta (id, media_id, meta_key, meta_value) 表,它存储杂项信息的序列化值,标题是其中之一,但现在我需要能够仅索引“标题”以进行搜索。我应该添加另一个表media_titles仅使用 media_id,标题上带有索引的标题,例如:
SELECT * FROM media_titles WHERE title LIKE '%title%';
我意识到上面的查询还不是最优的,但它仍然是我需要做的事情,即。在标题中搜索子字符串。
表格摘要:
media (id, path, filename, filesize, mime, md5, etc...)
media_meta (id, media_id, meta_key, meta_value)
media_titles (media_id, title)