Как мога да създам таблица в паметта в PostgreSQL?
Таблица в паметта в PostgreSQL
Отговори (3)
Създайте RAM диск с помощта на софтуер, подходящ за вашата операционна система. Използвайте CREATE TABLESPACE
за създаване на DB клъстер на RAM диска. Когато създавате вашата таблица, използвайте клаузата TABLESPACE
. Очевидно вашите RAM таблици няма да се запазят при рестартиране на системата, освен ако не запазите RAM диска.
Е, технически това не е таблица в памет, но можете да създадете глобална временна таблица:
create global temporary table foo (a char(1));
Не е гарантирано, че ще остане в паметта през цялото време, но вероятно ще стане (освен ако не е огромна маса).
Можете също така да вземете предвид нерегистрираните таблици на PostgreSQL 9.1, които ще ви дадат по-добра производителност с цената на невъзможността да бъдете част от транзакции (техните операции за запис не се поддържат в WAL).
Optionally, GLOBAL or LOCAL can be written before TEMPORARY or TEMP. This makes no difference in PostgreSQL, ...
- person Erwin Brandstetter; 16.10.2011
Можете също така да вземете предвид нерегистрираните таблици на PostgreSQL 9.1, които ще ви дадат по-добра производителност с цената на невъзможността да бъдете част от транзакции (техните операции за запис не се поддържат в WAL).
от @PabloSantaCruz
пример от https://www.compose.com/articles/faster-performance-with-unlogged-tables-in-postgresql/
CREATE UNLOGGED TABLE "EUR/USD_ticks"
(
dt timestamp without time zone NOT NULL,
bid numeric NOT NULL,
ask numeric NOT NULL,
bid_vol numeric,
ask_vol numeric,
CONSTRAINT "EUR/USD_ticks_pkey" PRIMARY KEY (dt)
)
Смятам да опитам това и реших, че заслужава собствен отговор за потребителите да гласуват за тази опция (т.е. „дългата опашка“).
UNLOGGED
, ще се радвам да изтрия този дублиран отговор.
- person yzorg; 19.07.2018