Si j'ai la requête ci-dessous qui sélectionne une carte de forum, mais la table board
contient une colonne mirror_board_id
. Est-il possible pour moi de modifier une requête de sélection de base à l'endroit où mirror_board_id > 0
que ce sera SELECT * FROM board WHERE board_id = mirror_board_id
ou quelque chose. Actuellement, je suis en utilisant 2 requêtes pour cela, mais c'est une requête peu intensive ...Sélection d'une autre ligne basée sur la valeur de la colonne
SELECT * FROM board WHERE category_id = 7 AND board_id = 0
mise à jour
SELECT * FROM board WHERE category_id = 7 AND
(
(
mirror_board_id > 0
AND board_id = mirror_board_id
)
OR board_id = 0
) AND
display = 1 ORDER BY `order` ASC
Ce retourne les mauvais conseils dans la liste, il est pas vraiment retourner les planches miroir, mais planches originales où mirror_board_id > 0
ce que je pourrais demander l'indexation avec cela pour accélérer? Est-ce que l'indexation de 'board_id' et de' mirror_board_id' séparément serait suffisant? – Webnet
Il n'est pas clair pour moi si les index seraient utiles dans ce cas, puisque vous examinez chaque ligne. Test et voir ... – RedFilter
ça ne fonctionne pas comme je le pensais ... – Webnet