Я нахожусь в процессе разработки макета базы данных для работы на PostgreSQL. В этой базе данных мне нужно обрабатывать много адресов, поэтому я, естественно, хочу использовать таблицу адресов, а затем мои другие данные просто указывают на первичный ключ.
Я хочу, чтобы адреса были уникальными, поэтому я планирую использовать простой первичный ключ, а затем уникальный индекс для всех столбцов данных.
Что-то вроде этого:
CREATE TABLE address(id serial NOT NULL, name VARCHAR(32), address1 VARCHAR(32), address2 VARCHAR(32), postal VARCHAR(12), city VARCHAR(64), CONSTRAINT pkey PRIMARY KEY (id), CONSTRAINT unq UNIQUE (name,address1,address2,postal,city));
Я ожидаю, что с первого дня в этой таблице будет более 2 миллионов записей.
Таблица будет поражена множеством одновременных ВЫБОРОВ, а также несколькими ВСТАВКАМИ. Но в целях обеспечения целостности данных таблица никогда не увидит ОБНОВЛЕНИЯ или УДАЛЕНИЯ.
Какую производительность я могу ожидать от такого рода таблицы? Есть ли какое-то снижение производительности при использовании больших таблиц вместо копирования данных туда, где это необходимо?