下面的查询将每个模型与其相关的照片拍摄相匹配,并让我在照片拍摄中将第一张图像作为帖子的默认图像回显10张贴。它工作正常,似乎真的很慢。是否有更快的方法来达到预期的效果?
"SELECT * "
. "FROM models a "
. "INNER JOIN models_images b ON a.model_id = b.model_id "
. "WHERE 1 AND `images_ok` = '1'"
. "GROUP BY a.model_id ORDER BY a.id DESC "
. "LIMIT 10"
谢谢
答案 0 :(得分:4)
您可以在两个表中的model_id
和images_ok
字段中添加索引。
像这样:
-- table name new index name field name
ALTER TABLE `models` ADD INDEX `models_model_id` (`model_id`);
关于数据库索引的维基百科:
数据库索引是一种提高速度的数据结构 数据检索操作在数据库表上的代价较慢 写和使用更多的存储空间。可以使用创建索引 数据库表的一列或多列,为两者提供基础 快速随机查找和有序记录的有效访问。
有助于理解索引的好视频:
答案 1 :(得分:0)