Ich versuche, eine links zu verwenden, verbinden Sie zwei Tabellen zu überbrücken und einen Index erzwingen Index, der nur auf der verknüpften Tabelle vorhanden ist, aber ich erhalte den folgenden Fehler:Einzelkraftindex auf verknüpfte Tabelle zu werfen Fehler
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FORCE INDEX (l.sfdcId) WHERE l.sfdcId = '003A000001eR0HsIAK' ORDER BY a.activity' at line 3
Hier ist eine Ausgabe der Abfrage ist run (funktioniert gut, wenn ich den FORCE INDEX entfernen):
SELECT a.activityDate,a.primaryAttributeValue,a.attributeDescription,l.firstName,l.lastName,l.title,l.email
FROM activities AS a LEFT JOIN
leads AS l
ON a.leadId = l.leadId FORCE INDEX (l.sfdcId)
WHERE l.sfdcId = '003A000001eR0HsIAK'
ORDER BY a.activityDate DESC
Jede Idee, warum dies würde scheitern?
https://dev.mysql.com/doc/refman/5.7/en/index-hints.html - * "Es syntaktisch gültig ist wegzulassen index_list für USE INDEX, was "keine Indizes verwenden" bedeutet. Das Auslassen von index_list für FORCE INDEX oder IGNORE INDEX ist ein Syntaxfehler. "* --- *" Der FORCE INDEX-Hinweis verhält sich wie USE INDEX (index_list) mit dem Zusatz, dass a Der Tabellenscan wird als sehr teuer angesehen, dh, ein Tabellenscan wird nur verwendet, wenn es keinen Weg gibt, einen der benannten Indizes zu verwenden, um Zeilen in der Tabelle zu finden. "* –