Nein, es spielt keine Rolle. Auch wenn SELECT 1 FROM table WHERE ... FOR UPDATE verwendet wird, sperrt die Abfrage alle Zeilen, die Where-Bedingungen erfüllen.
Wenn die Abfrage Zeilen aus einem Join abruft und wir nicht Zeilen aus allen am Join beteiligten Tabellen sperren möchten, sondern nur Zeilen aus bestimmten Tabellen, ein SELECT ... FOR UPDATE OF list-of-tablenames Syntax kann nützlich sein:
https://www.postgresql.org/docs/9.0/static/sql-select.html#SQL-FOR-UPDATE-SHARE
Verwenden Sie in Pl/PgSql einen PERFORM Befehl zum Verwerfen des Abfrageergebnisses:
https://www.postgresql.org/docs/9.2/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-NORESULT
Statt:
SELECT 1 INTO dummy FROM my_table WHERE userid=v_1 LIMIT 1 FOR UPDATE;
verwenden:
PERFORM 1 FROM my_table WHERE userid=v_1 LIMIT 1 FOR UPDATE;