Czyli to jest to samo co:
SELECT *
FROM tabela WHERE jakies_id=CAST(9999999 AS int8);
?
a) Czy w ten sposób mogę wymuszać typy danych, które mają być wybierane(jeśli nie jest to ten typ danych to wywali error) ?

Czy jak mam dużą ilość zapytań na raz z JOIN'ami to może być widoczna ta różnica ?
c)
SELECT *
FROM tabela WHERE jakies_id=9999999;
w tym przypadku PostgreSQL użyje indexowania przy wyszukiwaniu ? Właśnie słyszałem, że nie bo nie będzie określonego rzutowania danych.
Z tego co wiem różnice widać przy ilości kilkuadziesięciu tysięcach rekordów.
Zapytanie takie może trwać nawet 2 sek. zamiast np. 0.1 sek.
Muszę przetestować:
EXPLAIN analize SELECT *
FROM tabela WHERE jakies_id=9999999;
z
EXPLAIN analize SELECT *
FROM tabela WHERE jakies_id=9999999::int8;
ale najpierw muszę mieć jakąś dużą bazę danych :|
Ps. Słyszałem, że przy większych typach danych wygodnie jest bazę podzielić ? Wygodnie nie znaczy efektywnie.
Czy jak mam dużą liczbę krotek to szybciej baza będzie przeszukiwana jeśli jest w jednej tabeli czy jak ją podzielę? To samo zapytanie będzie musiało być kierowane do różnych tabel zawierających te same atrybuty. Trzeba będzie sprawdzać czy dana krotka występuje we wszystkich podzielonych tabelach.
Ps. Dzięki za odpowiedzi - człowiek uczy się przez całe życie

a temat jest dla mnie ciekawy :]