URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 138278
[ Назад ]

Исходное сообщение
"Выпуск СУБД SQLite 3.51"

Отправлено opennews , 05-Ноя-25 16:00 
Опубликован релиз SQLite 3.51, легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64186


Содержание

Сообщения в этом обсуждении
"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 16:00 
Хорошая вещь, кормит. Жаль только нет альтер тэйбл для существующей таблицы с позможностью вставить новую колонки между существующими, а только в самый конец

"Выпуск СУБД SQLite 3.51"
Отправлено Жироватт , 05-Ноя-25 16:05 
А оно таки надо? Нет, реально, учитывая, что порядок колонок в таблице вещь условная и может быть переопределен уже на клиенте (для гуя) или вообще не имеет значения (для ipc)

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 16:32 
Оно начинает быть надо у горе программиста уже пятидесятый столбец и он продолжает использовать sqlite. Хотя ему ненужен ни sqlite ни такая большая таблица.

"Выпуск СУБД SQLite 3.51"
Отправлено eugener , 05-Ноя-25 17:51 
> только в самый конец

у оракла также.


"Выпуск СУБД SQLite 3.51"
Отправлено Штунц , 06-Ноя-25 01:11 
А вот и нет, я нашёл способ.

Короче, делаешь всем полям кроме первого:

alter table TT modify Column_B invisible;
alter table TT modify Column_C invisible;
alter table TT modify Column_D invisible;

А потом


alter table TT modify Column_C invisible;
alter table TT modify Column_D invisible;
alter table TT modify Column_B invisible;


И они уже в новом порядке



"Выпуск СУБД SQLite 3.51"
Отправлено Штунц , 06-Ноя-25 01:13 
Сорян, во второй части уже "visible"

"Выпуск СУБД SQLite 3.51"
Отправлено mos87 , 06-Ноя-25 09:45 
по крайней мере у старенького 11.2 - да

вообще конечно не нужно завязываться на select *


"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 16:17 
Где можно почитать рекомендации по индексам для sqlite?

"Выпуск СУБД SQLite 3.51"
Отправлено зоотехник , 05-Ноя-25 17:25 
А что не так с индексами?

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 17:32 
Ну, если у приложения их нет. На что смотреть? Я вот взял и сделал в sqlitebrowser, время хорошее у чтения, но будто неэффективно теперь? И размер в 2 раза больше.

"Выпуск СУБД SQLite 3.51"
Отправлено зоотехник , 05-Ноя-25 17:36 
А как надо, в два раза меньше? Так не бывает. Индекс практически тоже таблица, только отсортированная и условно с двумя колонками, в одно ключ, в другой номер записи.

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 17:53 
> А как надо, в два раза меньше? Так не бывает. Индекс практически
> тоже таблица, только отсортированная и условно с двумя колонками, в одно
> ключ, в другой номер записи.

Файл сжимается в 10 раз и будто бы можно поэффективней? Операции с диском не бесплатные. Конечно хотелось бы оптимизировать записи, их и так под терабайт в день и это практически без нагрузки.


"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 17:57 
Учи структуры данных и реализуй самый лучшей для твоей задачи способ.  Sqlite тебе вот ваще не нужен если проблемы о которых ты говоришь реальны.

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 18:05 
> Учи структуры данных и реализуй самый лучшей для твоей задачи способ.  
> Sqlite тебе вот ваще не нужен если проблемы о которых ты
> говоришь реальны.

Тут проблема, что для sqlite нет sqlite_top -- пойди угадай, что оптимизировать.


"Выпуск СУБД SQLite 3.51"
Отправлено зоотехник , 05-Ноя-25 18:29 
Если базу можно сжать в 10 раз, то либо неэффективная структура таблиц (много пустого места, либо много одинаковых данных), либо используется ФС с неподходящими настройками (размер сектора) и т.д. Т.е. индексы на это вряд-ли влияют, это следствие, а не причина.
Как написали выше, разбирайся со структурами данных. Ну или нужна более подходящая для твоей задачи БД, может даже NoSQL.

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 18:35 
Там время в таблицах. Т.е. тупо текст миллионы раз повторяющийся.

"Выпуск СУБД SQLite 3.51"
Отправлено зоотехник , 05-Ноя-25 19:05 
Ради хранения времени заводить целую базу, да еще с индексами? Либо не оптимальная структура, либо не только время хранится, а что-то еще.

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 19:15 
Нет, там время у каждой записи с данными: created_at/updated_at/last_sync/remote_date. Все поля нужны для статистики и выборки, это минимум, к которому получилось придти (по хорошему ещё несколько полей со временем нужно добавить, но эти данные отправились в блоб с жсоном, над ними активных операций нет).

"Выпуск СУБД SQLite 3.51"
Отправлено зоотехник , 05-Ноя-25 19:29 
Т.е. есть повторяющиеся (в 10-кратном размере) данные времени? Тогда нужно использовать NoSQL базы, есть среди них т.н. "колоночные" базы, Clickhouse, например. Есть еще базы временных рядов - TSDB, например InfluxDB. Но по последней боюсь сейчас меня здесь "закидают помидорами". Тут недавно в новостях пробегала какая-то колоночная база, название не помню.

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 19:41 
Ну в принципе норма, в sqlite время хранится в виде текста. В posgres с этим немного лучше, но бинарный формат сжимается хуже, так что выигрыша тут никак не получить. Так хоть бэкапы хорошо сжимаются.

"Выпуск СУБД SQLite 3.51"
Отправлено Илья , 05-Ноя-25 18:40 
Вроде как sqlite не для больших бд со сложными поисками по индексам?

Если о таком задумываешься - наверное надо смотреть в сторону postgres или mssql


"Выпуск СУБД SQLite 3.51"
Отправлено OpenEcho , 05-Ноя-25 20:19 
> Вроде как sqlite не для больших бд со сложными поисками по индексам?

Я в одной "конторке" видел 16Тб базу он скулайте с довольно таки грамотной кучей связанных таблиц и народ очень даже доволен


"Выпуск СУБД SQLite 3.51"
Отправлено аноним2 , 05-Ноя-25 20:30 
16Тб? А с резервными копиями они там не мучаются?

"Выпуск СУБД SQLite 3.51"
Отправлено _ , 06-Ноя-25 07:38 
rsync ?

"Выпуск СУБД SQLite 3.51"
Отправлено OpenEcho , 06-Ноя-25 13:25 
> 16Тб? А с резервными копиями они там не мучаются?

Мало того что не мучаются (благо только в одном брэнче два НАСа по 512 Тб) так они еще базу и редистрибьютают с rqlite


"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 17:59 
Вот кстати отличный пример никчемности sqlite как базы данных и тех кто её использует. С одной стороны запросы без индекса медленные с другой с индексами база пухнет. И ведь мега умы ведь додумались бы и оставить медленные запросы и так и пользвать в приложении. И ведь у этого юзера ведь так уже где то есть в проде.

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 06-Ноя-25 23:08 
> запросы без индекса медленные с другой с индексами база пухнет

Ты точно понимаешь как работают реляционные базы данных и индексирование?


"Выпуск СУБД SQLite 3.51"
Отправлено Крысюк , 07-Ноя-25 08:32 
Что ты, чёрт возьми, такое несёшь? (с)

"Выпуск СУБД SQLite 3.51"
Отправлено btrfs , 07-Ноя-25 14:37 
У склайта проблема только одна - невозможность писать в несколько потоков (если я не отстал от жизни). Остальное Ваши фантазии.

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 16:17 
Электрон среди баз данных.

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 16:31 
Электрон заменяется на nwjs, а сабж на что?

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 17:36 
Firebird

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 18:03 
FoxPro

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 05-Ноя-25 18:12 
А чё сразу не postgres? Между прочим, sqlite встраиваемая.

"Выпуск СУБД SQLite 3.51"
Отправлено smit , 05-Ноя-25 18:51 
Firebird, между прочим, тоже.

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 06-Ноя-25 01:03 
всем хватит и hashmap

"Выпуск СУБД SQLite 3.51"
Отправлено нах. , 06-Ноя-25 13:52 
csv таблички им хватит.


"Выпуск СУБД SQLite 3.51"
Отправлено x3who , 07-Ноя-25 07:34 
csv таблички тоже можно юзать из sqlite :)

"Выпуск СУБД SQLite 3.51"
Отправлено mos87 , 06-Ноя-25 09:42 
Proton.

"Выпуск СУБД SQLite 3.51"
Отправлено Аноним , 06-Ноя-25 10:52 
Чушь порешь. Электрон - это маразматическая идея на нормальном десктопе залезть внутрь браузера и пытаться делать ровно такие же десктоп приложения. Только на хтмл.
Ссыкулит - реально полезная вещь, используется тысячами программ и заменяет "монстро-СУБД".