In Postgis, ist die ST_GeomFromText
Anruf sehr teuer? Ich frage hauptsächlich, weil ich eine häufig aufgerufene Abfrage habe, die versucht, den Punkt zu finden, der einem anderen Punkt am nächsten ist, der einigen Kriterien entspricht, und der auch in einer bestimmten Entfernung von diesem anderen Punkt liegt, und wie ich ihn gerade geschrieben habe gleich ST_GeomFromText
zweimal:Wie teuer ist ST_GeomFromText
$findNearIDMatchStmt = $postconn->prepare(
"SELECT internalid " .
"FROM waypoint " .
"WHERE id = ? AND " .
" category = ? AND ".
" (b.category in (1, 3) OR type like ?) AND ".
" ST_DWithin(point, ST_GeomFromText(?," . SRID .
" ),". SMALL_EPSILON . ") " .
" ORDER BY ST_Distance(point, ST_GeomFromText(?,", SRID .
" )) " .
" LIMIT 1");
gibt es einen besseren Weg, dies neu zu schreiben?
Leicht OT: In der Vorschau werden alle meine Unterstriche als & # 9 5 ;
gerendert - ich hoffe, dass das nicht in der Post angezeigt wird.
+1 für die Verwendung von 'explain', um Zahlen statt Glauben zu erhalten. [Wie kann ich SQL-Abfragen mit psql Zeit] (http://dba.stackexchange.com/questions/3148/how-cani-i-time-sql-queries-using-psql) F & A könnte es wert sein, vor der vorzeitigen Optimierung zu erkunden spielt in. – jwd630