реляционные базы - для удобства работы с данными, никогда они не создавались для скорости.
Nosql решения - как раз для скорости.
Нормализация это изжитки прошлого, кто готов отказаться от масштабирования баз, тот может использовать нормализацию, в больших системах это априори не делается. Да и время когда место было проблемой уже позади. Дедушки программирования, неплохо было бы почитать как сейчас живут технологии.
Артем Каретников: а ответ мой больше для вас писался нежели для чайника. Он если работает с базами и не знает простых вещей, то его мало чему можно вообще научить, а вот вам подсказать что в 2015 году ответы - Сделать так можно. Но так делать нельзя. - давно уже не оправдывают действительности!!
я за конструктивные ответы, а в вашем ответе я не вижу конкретики почему это делать нельщя
Артем Каретников: гений ваш написал ему sql запрос что бы автор взял и подумал как его переделать под свою базу. Для этого есть гугл! Да и в этом гомункуле есть нечто похожее на груп конкат. Не вижу ничего кривого в его таблице. Да и как вы можете судить по 1 таблице ??? Ну и наверное ожидаемый вопрос - ЧТО В ЕГО ТАБЛИЦЕ НЕ ТАК ? Денормализация давно уже используется, причин множить таблицы ради какой то нормализации из 90 годов я не вижу. И если ему нужны плюсы то CASE ему так же в помощь.
И вы работаете с реляционной базой. А эти базы далеко не о скорости работы думают!!!
Откуда же вы такие ГУРУ беретесь то ? Человек задал конкретный вопрос, сделать это можно за 5 секунд. Почему нужно строить из себя гения баз данных абсолютно в них не разбираясь ?
Сергей Еремин: нельзя!!! Я говорю о кросбраузерной верстке. а не о верстке под каждый браузер отдельно. Мы до сих пор иногда используем браузерные тоглы что бы в том или ином браузере изменить верстку, потому что не всегда фолбэки дают необходимые эффекты.
А если смотреть в вакууме под этот конкретный браузер то да, можно все что угодно сделать, только в другом браузере это работать так же не будет
Сергей: вы пока только закапываете свое полное незнание возможностей работы с базами данных. И все так же без аргументов :) Хотя есть один - минимальная оперативная единица.
Вот захотел выебнуться - Тот, кто создавал эту таблицу - рак. Категории пишутся иначе. Например в отдельных столбцах. Например в отдельных битах. Например флагами.
А получилось что опускают пока что тебя. И ответ правильный за тебя уже дали :)
Сергей: а если у него значение стоит в начале строки или в конце то что будем делать ? Писать сложные регулярки ? смешно!!! Вы несете чушь, минимальная оперативная единица. Это то что я вам и описал. Научитесь читать. И не читайте книги из 90 годов где такими терминами оперируют. Но это смешно :)
А для чего интересно у него все это ? Вы сами стандарты придумываете ? Архитектура у автора правильная. И ее можно применять для все возможных вариаций!
Сергей: кто такое сказал ? Большей глупости не слышал. Ваш способ кстати не работает, если в строке будут категории 22 и 33 то он их примет как 2 и 3.
Что значит красиво работать с бд ? То есть если категория у нас будет в одна в столбце, что мы должны сделать что бы на 1 строку повесить множество категорий ? дублировать строки, создавать таблицу линков - это прям красота получается. А когда у нас таблицы терабайтами считаются вы представляете какой оверхед будет на вашу красоту ? Так что ничего аргументированно не услышал.
Да и значение строки разбивать не нужно, это умеет делать база данных. Если вы не знаете о таких возможностях то не значит что их нет.
Перед тем как это написать я все сам проверил. Ну и никто бенчмарк не отменял, там тоже можно проверить. Могу сделать вывод что вы на денди запускали выборку
OXOJeck: перестаньте дрочить на всякие сайтики. Статьи там пишут не только профессионалы, а уж тем более на tympanus. Да и с трудом верится что вы читали о чем эта верстка. Потому как табы сейчас реализуются гораздо проще
Вычисление функции TRIM Будет составлять сотые доли МС для каждого значения, даже на 1млн записей вычисление всех тримов не выйдет за 100мс. Так что это не проблема.
Алексей Николаев: Пришлите задачи в которых это было бы единственным решением. И вертикальное выравнивание и горизонтальные списки. Может быть примеры или рисунки как должно быть. Я постараюсь вам сделать их без этого подхода. Кросбраузерно включая старые браузеры.