powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite3 оптимизация хранения
4 сообщений из 4, страница 1 из 1
SQLite3 оптимизация хранения
    #39511213
tonchikp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые форумчане! Требуется ваша помощь!

Есть таблица-словарь SQLite3, где перечисляется что-то (не важно что, суть не в этом)

Ранее создавал так:
Код: sql
1.
2.
3.
4.
CREATE TABLE table (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    obj TEXT UNIQUE
);



Задумался, ведь тут по сути 3 поля с UNIQUE (rowid, id, obj), 2 с AUTOINCREMENT (rowid, id). Получается дублируются роли полей, выполняется возможно ненужная работа, нерациональность. Насколько я понимаю PRIMARY KEY в себе несёт UNIQUE и NOT NULL.

Может лучше так:
Код: sql
1.
2.
3.
CREATE TABLE table (
    obj PRIMARY KEY
) WITHOUT ROWID;



Подскажите пожалуйста, какие могут быть подводные камни нового подхода? Иными словами, какие минусы?
...
Рейтинг: 0 / 0
SQLite3 оптимизация хранения
    #39511309
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tonchikpЗадумался, ведь тут по сути 3 поля с UNIQUE (rowid, id, obj), 2 с AUTOINCREMENT (rowid, id).Нет. Ты не прочитал документацию.
http://sqlite.org/lang_createtable.html#rowid

tonchikpНасколько я понимаю PRIMARY KEY в себе несёт UNIQUE и NOT NULL.это верно.
Но в данном случае играет особенность SQLite, которая не встречается в других СУБД. Читай ссылку что я дал.
...
Рейтинг: 0 / 0
SQLite3 оптимизация хранения
    #39511310
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tonchikpМожет лучше так:
Код: sql
1.
2.
3.
CREATE TABLE table (
    obj PRIMARY KEY
) WITHOUT ROWID;



Подскажите пожалуйста, какие могут быть подводные камни нового подхода? Иными словами, какие минусы? http://sqlite.org/withoutrowid.html
...
Рейтинг: 0 / 0
SQLite3 оптимизация хранения
    #39534106
Chego
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно не нужен. rowid и этого достаточно. в документации сказано что из-за дополнительного инкремента еще инсерт тупит.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite3 оптимизация хранения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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