スクリプトのパフォーマンスを調整しており、投稿カテゴリの並べ替え方法を変更しました。
次のクエリを正常に使用していました。(130|3|4|5) カテゴリの投稿を選択し、1 つの投稿が複数のカテゴリを持つことができるため、(73) カテゴリの初期化もあるかどうかを確認します。
SELECT *
FROM post
LEFT JOIN post_plus
ON ( post.id = post_plus.news_id )
WHERE category REGEXP '[[:<:]](130|3|4|5)[[:>:]]'
AND category REGEXP '[[:<:]](73)[[:>:]]'
AND approve = 1
ORDER BY fixed DESC,
date DESC
LIMIT 0, 7
新しいクエリでは、代わりに複数の IN (...) クエリを実行する必要がありますAND category REGEXP '...'
が、何らかの理由で追加AND categoryid IN
は常に空の結果を返します。
SELECT *
FROM post
LEFT JOIN post_plus
ON ( post.id = post_plus.news_id )
LEFT JOIN post_category
ON ( post_category.postid = post.id )
WHERE categoryid IN ( 130, 3, 4, 5 )
AND categoryid IN ( 73 )
AND approve = 1
ORDER BY fixed DESC,
date DESC
LIMIT 0, 7;
post_category 構造体
+-----+--------+------------+
| cid | postId | categoryId |
+-----+--------+------------+
| 824 | 7 | 10 |
| 825 | 7 | 13 |
| 826 | 7 | 16 |
| 827 | 7 | 29 |
| 828 | 7 | 71 |
+-----+--------+------------+