CMS для потрала с нагрузкой

W1
На сайте с 22.01.2021
Offline
286
#41
Sly32 #:
ЧПУ - это всего навсего роутинг, который перенаправляет на код, который будет делать запросы в БД, например. Как вы его оформляете - никакого значения не имеет в плане скорости. 

Тем не менее, если в ЧПУ вставить идентификатор элемента, то это уже готовый ключ для выборки из БД. Об этом речь.

Sly32 #:
это сразу привело к тому что поехал запрос в БД?

Сразу или не сразу, но в конечном итоге это всё равно приведёт к запросу к БД на предмет наличия соответствующего строкового поля.

Мой форум - https://webinfo.guru –Там я всегда на связи
WS
На сайте с 01.11.2008
Offline
135
#42
lutskboy #:

нет. я к тому что например  ID можно генерить самому. уник. допустим 8-10 символов. в то время как slug новости может быть длинным. не все новости 

будут и такие

Старовойт: Михайловский ГОК второй раз за утро атаковал украинский дрон

Песков: американские танки горят, то же самое будет и с самолетами США

Рособрнадзор: выпускники уже в июне смогут пересдавать ЕГЭ по предмету на выбор

хоть один нормальный человек отписался, я думал я один такой, и ещё один, кто поставил лайк, не всё потеряно, вы лучшие!
C
На сайте с 22.08.2012
Offline
104
#43
Sly32 #:

А разве индексы в БД это не массив хэшей?

Если мы говорим о b-tree, то скорее двусвязный список, нодами которого являются массивы.

Sly32 #:

Тут избыточность мне кажется не причем...

Для хеша в b-tree нужны 2 момента - уникальность и постоянный размер. Целое число удовлятворяет обоим критериям:
- оно так уникально - его не надо ещё раз уникализировать
- размер (например INT) всегда 4 байта

WS
На сайте с 01.11.2008
Offline
135
#44
chaturanga #:

Если мы говорим о b-tree, то скорее двусвязный список, нодами которого являются массивы.

Для хеша в b-tree нужны 2 момента - уникальность и постоянный размер. Целое число удовлятворяет обоим критериям:
- оно так уникально - его не надо ещё раз уникализировать
- размер (например INT) всегда 4 байта

вот вот, а у строк размер гораздо больше, у вас светлая голова
WS
На сайте с 01.11.2008
Offline
135
#45
Aisamiery #:

Чем логичнее? =) То что знаков больше? Так по вашему ID 10000000 будет искаться дольше чем строка address

Ключи в БД не выглядят как их значения, то что вы видите цифру 1 ключ это не цифра 1 =))

у вас каша в голове, несмотря на то, что вы знаете, что такое b-tree, вы не знаете что такое целые числа, они не хранятся в виде строк!

Aisamiery
На сайте с 12.04.2015
Offline
293
#46
Владимир #:

у вас каша в голове, несмотря на то, что вы знаете, что такое b-tree, вы не знаете что такое целые числа, они не хранятся в виде строк!

Я вам задам другой вопрос, кто вам сказал что строки в индексе хранятся в виде строк? =))

Вы можете думать что угодно, я же вам предлагаю проверить.

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
Sly32
На сайте с 29.03.2012
Offline
303
#47
Aisamiery #:
Я вам задам другой вопрос, кто вам сказал что строки в индексе хранятся в виде строк? =))

В плане Постгрес это могут быть и b-tree, HASH, GIST,  но да - это все строковые данные, которые проигрывают по скорости b-tree с числами, конечно, зависит от вида поиска, например это точное совпадение или диапазон или полнотекст. 

так что по факту да - для простого запроса будет, например быстрее получить статью из базы по полю айди чем по текстовому полю(индексу) 

Только вот покажите мне тот идеальный мир, где можно обойтись такими простыми вещами?

WS
На сайте с 01.11.2008
Offline
135
#48
Aisamiery #:

Я вам задам другой вопрос, кто вам сказал что строки в индексе хранятся в виде строк? =))

Вы можете думать что угодно, я же вам предлагаю проверить.

вы просто занимаетесь словоблудием, магии нет, строки занимают больше места, чем числа, сравнение строк накладнее по ресурсам, чем сравнение целых чисел, ваш коллега Sly32 уже признал мою правоту
Aisamiery
На сайте с 12.04.2015
Offline
293
#49
Sly32 #:
так что по факту да - для простого запроса будет, например быстрее получить статью из базы по полю айди чем по текстовому полю(индексу)

Там если и будет разница, то фактически нивелироваться железом, вот табличка на 1.5kk записей


И в ней 3 индекса, 1 праймари и 2 составных (один чисто числовой, второй имеет строку) и собственно вот запросы

По праймари кею


По первому составному из 2х чисел

И из 2х чисел со строкой

В общем тут на уровне погрешности разница между ними и это вполне логично

Aisamiery
На сайте с 12.04.2015
Offline
293
#50
Владимир #:
вы просто занимаетесь словоблудием, магии нет, строки занимают больше места, чем числа, сравнение строк накладнее по ресурсам, чем сравнение целых чисел, ваш коллега Sly32 уже признал мою правоту

Вы можете дальше жить в своем неведении и считать что ID в строке даст вам какой то значительный буст =)) 

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий