Is there a difference in performance between primary key and an index?
Short answer: no
There are different kinds of indexes. Firebird creates the ascending unique index for primary keys. You would get the same performance if you created such index yourself. However, some queriest would run faster with descending index. It helps to create additional indexes beside the one created automatically for primary key constraint. See FAQ #167 on index selectivity to learn what kind of indexes are useful to create.