172 похожих чатов

Спасибо, понял, попробую. Может тупой вопрос, но почему оно должно быть

быстрее?
Я не DB инженер, обычний java dev. =)

14 ответов

7 просмотров

Вопрос и правда... неверный. Если вы хоть когда-нибудь задумывались как идет проверка уникальности, то понятно что надо сравнивать 2 значения. 8ми байтовое сравнивается за 1 CMP инструкцию на 64х битных процах, а VARCHAR во первых может храниться в TOAST'е, а во-вторых сравнивается как строка, а это 32 что-ли символа, которые сравниваются как строка, то есть это пару сотен тактов.

Это вопрос про bigint vs varchar в индексах?

Viktor-Fedinchuk Автор вопроса
Warstone
Вопрос и правда... неверный. Если вы хоть когда-ни...

Осталось выяснить насколько влияют эти сравнения в реальных условиях на современных процессорах

maxp.dev
Осталось выяснить насколько влияют эти сравнения в...

Если вам не достаточно теоретического понимания что от процессора тут не зависит ничего, то проверяйте.

Viktor-Fedinchuk Автор вопроса
maxp.dev
Осталось выяснить насколько влияют эти сравнения в...

ну тут понятно что комперить 64 бита можно в 1 такт, а вот строка может иметь много символов, в один такт может не влезть =)

Viktor Fedinchuk
ну тут понятно что комперить 64 бита можно в 1 так...

Один или десять тактов тут могут ничего не решить - надо смотреть совокупно

sexxst
Влияют и сильно

давай посмотрим как именно?

Аггей Лоскутников
Сравнение строк - тоже есть инструкция ж

она была актуальна на процессорах 8086 и я даже ее успешно сипользовал, а вот на 80286 стало уже не очень

maxp.dev
давай посмотрим как именно?

Я цифр приводить не буду, потому что сейчас у меня их нет, а тесты мне делать откровенно лень. Но могу точно сказать что в последний раз у меня буквально в разы отличалось на приблизительно аналогичных типах данных.

sexxst
Я цифр приводить не буду, потому что сейчас у меня...

так давай посмотрим-таки? вот я выше приводил ссылку на гист, где помярял bigint/varchar джоины на табличках с миллионом записей

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Привет, запускаю werf в dind в k8s, получаю ошибку на этапе build/beforeSetup: /.werf/stapel/embedded/bin/bash: /.werf/scripts/5898bdfe5214357d3706b879cc8d3d78460fb379607cbd...
florius0
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Добрый день, чат. Мне в очередь из других RabbitMQ по shovel валятся метрики в формате текста для Prometheus. Помогите пожалуйста подружить RabbitMQ и Prometheus, чтобы он (...
Aleksey
4
Карта сайта