если получается 5-10 строк, то селективность по определению высокая.
ещё раз. ваш ответ - типичная чушь с форума, когда на вопрос нуба "а как мне отрубить ногу, а то болит очень" начинают давать советы как это лучше сделать вместо того чтобы рассказать как вытащить занозу.
Приходит такой "сеньор-помидор", и начинает разговаривать сам с собой. Выдумывает себе селективность, статистику, накладные расходы, и для решения примитивной задачи предлагает делать каких-то ненужных монстров.
Любые разговоры про временные таблицы, триггеры и денормализацию, которыми тут любят козырять в ответах, должны быть обоснованы. Данными, приведёнными в вопросе. А не нелепыми страхами автора вопроса и фантазиями доброхотов-отвечателей.
Ок, действительно, не придется.
Но это не делает предложение с временной таблицей менее дурацким.
Джойн по определению не составит никакой проблемы. Рекомендую почитать про индексы, и то как они помогают избежать поиска по большим таблицам.
Ваш ответ - типичная чушь с форума, когда на дурацкий вопрос дают еще более дурацкий ответ.
Пройти по массиву, составить список всех свойств.
Потом снова перебирать массив и для каждой строки добавлять свойства из списка, если есть то его, если нет - то пустоту
Лентюй, в целом согласен, пример хороший. Но опять же, человек, который знает такое слово, не будет спрашивать, как перебрать значения. Куда чаще встречается случай, когда бд используют как набор бумажных карточек, не зная никакой другой модели данных
А по поводу того, что написал тов. Лентюй, надо понимать, что дядя шутит. Он развлекается для собственного удовольствия, а не пытается помочь с проблемой. Которая, чтобы было понятно, не является какой-то дискуссионной.
Как раз наоборот, вопрос как хранить данные в бд этот вопрос примерно уровня "как надевать штаны". И вопрос у вас сейчас, "как мне ловчее надеть штаны через голову". Для вас, в силу неопытности, оба варианта равнозначны, и вы мучаетесь выбором, через голову надевать, или через ноги.
Но за исключением каких-то экстремальных случаев штаны надевают через ноги. А данные в бд хранят не через запятую, а в отдельной таблице в отдельных ячейках
правильнее заранее заносить строчки в эту табл циклом, каждую отдельной строкой
И работа с этими данными будет в сотни раз быстрее. Потому что правильно.
Только без всяких временных таблиц. Заносить только в постоянные
А какая проблема просмотреть 12 миллионов записей?
Сделайте таблицу, и попробуйте просмотреть её. Просто чтобы получить представление о скорости работы бд.
50 минут - это явная аномалия. Запрос конечно надо оптимизировать, и скорее всего через materialized view, но при "просмотре всей таблицы" все равно скорость должна составлять максимум десятки секунд, а не минут.
ещё раз. ваш ответ - типичная чушь с форума, когда на вопрос нуба "а как мне отрубить ногу, а то болит очень" начинают давать советы как это лучше сделать вместо того чтобы рассказать как вытащить занозу.
Приходит такой "сеньор-помидор", и начинает разговаривать сам с собой. Выдумывает себе селективность, статистику, накладные расходы, и для решения примитивной задачи предлагает делать каких-то ненужных монстров.
Любые разговоры про временные таблицы, триггеры и денормализацию, которыми тут любят козырять в ответах, должны быть обоснованы. Данными, приведёнными в вопросе. А не нелепыми страхами автора вопроса и фантазиями доброхотов-отвечателей.