Size: a a a

DBA - русскоговорящее сообщество

2021 January 17

D

Denis in DBA - русскоговорящее сообщество
Serega Carbon
ответь на этот вопрос пж
есть email и другие ~15 - boolean
Упростим до этого задачу
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Denis
Че за флуд, говори конкретно. Готов поспорить я монгу знаю сильно лучше тебя. И с моделированием у меня в все в порядке там
Кажись я что-то понял...


Тебе не нужно создавать индексы по всем комбинациям полей.

Тебе надо выбрать логичные и селективные критерии выборки, сделать их обязательными, и на них сделать индексы.
Не селективные критерии типа как ты привел пример -не индексировать
источник

SC

Serega Carbon in DBA - русскоговорящее сообщество
Ilia Zviagin
Кажись я что-то понял...


Тебе не нужно создавать индексы по всем комбинациям полей.

Тебе надо выбрать логичные и селективные критерии выборки, сделать их обязательными, и на них сделать индексы.
Не селективные критерии типа как ты привел пример -не индексировать
гениально и просто)
источник

D

Denis in DBA - русскоговорящее сообщество
Ilia Zviagin
Кажись я что-то понял...


Тебе не нужно создавать индексы по всем комбинациям полей.

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

Конечно по наиболее частым комбинациям у меня уже есть compound именно для них
источник

c

critskiy in DBA - русскоговорящее сообщество
Denis
Ты слепой или как. Я написал что если 3 поля выберет а compound на 15 то НЕ будет работать
У тебя просто выход ещк в том, чтобы просто создать индекс нв эти 3 поля, проверить через profilingLevel, что при аггрегации работает нужный индекс. Если нет, - там есть вроде фокус в монге насчёт того, чтобы вешать необходимый тебе индекс на запрос, емнип.
Но так ты обвешивать будешь каждый раз очередную выборку индексом. И так будет постоянно.
источник

SC

Serega Carbon in DBA - русскоговорящее сообщество
Denis
Да. Но прикол сервиса что юзер может все что хочет накликать в этом форме, в той комбинации которая ему нужна

Конечно по наиболее частым комбинациям у меня уже есть compound именно для них
ну я вcё равно не понимаю, зачем там индексы нужны
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Denis
Но если эти 3 были из префикса индекса то будет, но ситуацию это не спасет, все будет медленно
Ситуацию это спасет, и все будет быстро, но тебе не понравится создавать индексы на все комбинации полей...
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Serega Carbon
или ты про монгу сейчас, то-та я не могу понять что у тебя за схема там, ну так всё равно не вижу проблемы)
Так там же нет схемы...
источник

SC

Serega Carbon in DBA - русскоговорящее сообщество
боже
источник

SC

Serega Carbon in DBA - русскоговорящее сообщество
я думаю реляционно
источник

SC

Serega Carbon in DBA - русскоговорящее сообщество
всё теперь ясно)
источник

D

Denis in DBA - русскоговорящее сообщество
Ilia Zviagin
Так там же нет схемы...
Если нет схемы в базе не значит что нет «схемы» данных и у меня там мусорка. Все документы в коллекции в единой структуре данных
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Denis
Да. Но прикол сервиса что юзер может все что хочет накликать в этом форме, в той комбинации которая ему нужна

Конечно по наиболее частым комбинациям у меня уже есть compound именно для них
Ну тебе надо сделать обязательные критерии поиска, может их будет скажем три-пять, альтернативных, но какой-то один точно обязательный
источник

SC

Serega Carbon in DBA - русскоговорящее сообщество
а в скл базу пересесть не хочеш?
источник

SC

Serega Carbon in DBA - русскоговорящее сообщество
и кстати про монгу хз, если много индексов вешать производительность записи там не пострадает?
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Serega Carbon
я думаю реляционно
Ну, тут это мало чего меняет, можешь просто думать что это очень широкая таблица со всеми скажем 100 полей nullable.
источник

D

Denis in DBA - русскоговорящее сообщество
Ilia Zviagin
Ну, тут это мало чего меняет, можешь просто думать что это очень широкая таблица со всеми скажем 100 полей nullable.
+
источник

c

critskiy in DBA - русскоговорящее сообщество
Serega Carbon
и кстати про монгу хз, если много индексов вешать производительность записи там не пострадает?
Может, но не факт, не помню особо %)
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Serega Carbon
а в скл базу пересесть не хочеш?
Опять же, мало что меняет
источник

SC

Serega Carbon in DBA - русскоговорящее сообщество
Ilia Zviagin
Ну, тут это мало чего меняет, можешь просто думать что это очень широкая таблица со всеми скажем 100 полей nullable.
я вот недавно ещё себе голову кассандрой поламал , теперь вообще в монговском ключе не думается(
источник