Skip to content

通过ORDER BY RAND()获取随机文章会导致比较差的性能 #41

@wtune

Description

@wtune

ActicleMapper::listRandomArticle

SELECT
<include refid="Base_Column_List"/>
FROM
<include refid="tb"/>
WHERE article_status = 1
ORDER BY
RAND()
limit #{limit}

里用ORDER BY RAND()来取得随机的行。在article表比较大的情况下性能比较差,因为会进行全表扫描然后filesort。

可能的优化方法可以参考这个SO

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions