Бенчмарк базы данных
Бенчмарк базы данных - free online developer tool. 100% client-side: your data never leaves your browser.
Бенчмарк вставки в базу данных
Сравните производительность последовательных ID (ULID / UUID v7) и случайных ID (UUID v4) при вставке в IndexedDB.
Сортированные по времени ID (ULID / UUID v7)
IdleСлучайные ID (UUID v4)
IdleКривая задержки при вставке индекса
Этот график показывает задержку транзакций (мс) для последовательных операций вставки. Заметьте всплески у UUID v4 из-за ребалансировки B-Tree.
Почему есть разница в производительности?
Современные базы данных (IndexedDB, SQLite, PostgreSQL, MySQL) хранят первичные ключи в структуре B-Tree/B+Tree. При вставке последовательных ID (ULID, UUID v7) новые записи всегда добавляются в крайний правый узел, не требуя ребалансировки индекса. Напротив, случайные ID (UUID v4) вставляются в произвольные узлы, вынуждая БД часто разделять страницы данных (page splits) и фрагментировать индекс, что замедляет запись и увеличивает размер хранилища.