Jeśli kolumna jest oznaczona jako INTEGER PRIMARY KEY, w rzeczywistości jest około dwa razy szybsza niż podobne wyszukiwanie wykonane przez podanie dowolnego innego klucza podstawowego lub wartości indeksowanej . To dlatego, że:
... wszystkie wiersze w tabelach SQLite mają 64-bitowy klucz liczby całkowitej ze znakiem, który jednoznacznie identyfikuje wiersz w tabeli ... Wyszukiwanie rekordu z określonym identyfikatorem wiersza lub wszystkich rekordów z identyfikatorami wierszy w określonym zakresie jest około dwa razy większe niż szybka jak podobne wyszukiwanie wykonane przez podanie dowolnego innego KLUCZA PODSTAWOWEGO lub wartości indeksowanej.
Z jednym wyjątkiem wymienionym poniżej, jeśli tabela identyfikatora wiersza ma klucz podstawowy składający się z pojedynczej kolumny, a zadeklarowanym typem tej kolumny jest „INTEGER” w dowolnej kombinacji dużych i małych liter, wówczas kolumna staje się aliasem identyfikatora wiersza.
Taka kolumna jest zwykle nazywana „całkowitym kluczem podstawowym”. Kolumna PRIMARY KEY staje się kluczem podstawowym w postaci liczby całkowitej tylko wtedy, gdy zadeklarowana nazwa typu to dokładnie „INTEGER”. Inne nazwy typów całkowitych, takie jak „INT”, „BIGINT”, „SHORT INTEGER” lub „UNSIGNED INTEGER”, powodują, że kolumna klucza podstawowego zachowuje się jak zwykła kolumna tabeli z powinowactwem do liczb całkowitych i unikalnym indeksem, a nie jako alias dla identyfikatora wiersza.
Zobacz: http://www.sqlite.org/lang_createtable.html#rowid