powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / о типах данных с автоувеличением
4 сообщений из 4, страница 1 из 1
о типах данных с автоувеличением
    #40001717
Фотография Mexanik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Поделитесь опытом, для каких целей Вы используете в БД PostgreSQL такие типы данных:
Bigserial – восьмибайтное целое с автоувеличением
Smallserial – двухбайтное целое с автоувеличением
и Serial - 4-х байтное с автоувеличением ???
...
Рейтинг: 0 / 0
о типах данных с автоувеличением
    #40001722
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mexanik,

ммм. Чуть менее чем везде встречается. Повсеместно встречаемый суррогатный ключ. Банально на примере форума: id пользователя, id темы, id сообщения в теме
...
Рейтинг: 0 / 0
о типах данных с автоувеличением
    #40002782
О-О-О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mexanik,

Смотря для каких целей и когда.
Если создаёте кучу таблиц и с утра, то я так и не смог его запустить.
А вот уже к готовой таблице воткнуть ключ с автоувеличением - без проблем.

Так же можно и вручную генерировать автоувеличение (в PostgreSQL есть такая функция). Там прямо функция такая есть.
Идеально подходит при вставке 10-100 строк в таблицу (не спеша). Сейчас не скажу, не доступа к тому ПК, но она какая то хитрая.
Очень хорошо при добавлении новой записи в текущую таблицу, но напрочь не подходит у которой за секунду вставляется более 100 записей.

Посмотрите так же
Код: sql
1.
2.
CREATE SEQUENCE
CREATE SEQUENCE — создать генератор последовательности


Имеет кучу настроек и очень хороша при ставке потоковых данных со скоростью 3000-7000 записей за 1 секунду.
В общем использую все вышеперечисленные способы. Каждый под свою задача и все по сути - это последовательности.
...
Рейтинг: 0 / 0
о типах данных с автоувеличением
    #40002784
О-О-О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
п_номер:=nextval('analiz_dannih.коэф_для_работы_id_seq');



Это пример при создании таблицы с одновременным созданием авто увеличения.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
	drop table if exists analiz_dannih.коэф_для_работы;
	DROP SEQUENCE IF EXISTS analiz_dannih.коэф_для_работы_id_seq;

	CREATE TABLE IF NOT EXISTS analiz_dannih.коэф_для_работы (
	id smallint NOT NULL,--integer NOT NULL DEFAULT nextval('коэф_для_работы_id_seq'), --smallint
	имя varchar(36), -- Столбец = ИМЯ менять нельзя (только стратегия_1/_2/_...) или служебные имена
	активна varchar(3), -- да/нет
	плечо varchar(3), -- да/нет
	nx_int integer[], -- массив целых чисел (integer)
				--массив_numeric numeric(16,6)[], -- не активно!
 	nx_text text[], -- массив дектовых данных, для перечисления списка акций
 	nx_заявки jsonb, -- все что касается выставляемых заявок, стоп заякок, тэйк-профита - тип, процент, отсуп и прочая информация.
  ............
 	UNIQUE(имя),
 	CHECK (уб_txt IN ('проценты','рубли','сделки'))
	);
	create SEQUENCE IF NOT EXISTS analiz_dannih.коэф_для_работы_id_seq
	as smallint
	MINVALUE 1 
	START WITH 1;
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / о типах данных с автоувеличением
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]