Я очень рад новым Mysql XMl Functions.Выполнение функций MySql Xml?
Теперь я могу вставить что-то вроде «объектно-ориентированных» документов в мою реляционную базу данных oldschool.
Для примера используйте случай использования пользователя, который поет на вашем сайте, используя подключение к facebook. Вы можете получить объект для пользователя, используя график api, и получить приятную информацию. Однако эта информация может значительно варьироваться. Некоторые поля могут быть или не быть установлены, некоторые из них могут быть добавлены с течением времени и так далее.
Хорошо, если вы просто заинтересованы в особых полях (например, отношения друзей, пол, фильмы ...), вы можете проецировать их в свою реляционную схему базы данных.
Однако, используя функции XMl, вы можете сохранить весь объект внутри поля, а затем ваши различные модели могут получить доступ к данным с помощью функции ExtractValue. Вы можете хранить все сразу, не беспокоясь о том, что вам понадобится позже.
Но какова будет производительность?
Например, у меня есть таблица с 50 000 записей, которые представляют пользователей. У меня есть поле перечислимую, что государства "male", "female
"(или различных других полов, чтобы быть политически корректным).
на производительность, например, выборка всех мужчин будет очень быстро.
Но что о чем-то вроде
WHERE ExtractValue(userdata, '/gender/') = 'male'
?Как производительность измениться, если объект становится все больше?
Могу ли я каким-то образом Maby положить индекс на Удельный ed xpath?
Как типы полей работают вместе с этими функциями/характеристиками. Varchar/клякса?
Нужны ли полнотекстовые индексы?
Подводя итог мой вопрос:
Mysql XML functins выглядеть великолепно. И я уверен, что они действительно великолепны, если вы просто хотите хранить структурированные данные, которые вы получаете и анализируете далее в своем приложении.
Но как они будут сражаться в процедурах, где на них выполняются внутренние проверки/сортировка/сравнение/расчеты?
Может ли Mysql заменить документы, ориентированные на базы данных, такие как CouchDB/Sesame?
Каковы преимущества и компромиссы функций XML?
Как и почему они лучше/хуже, чем динамическое приложение, которое хранит различные данные в качестве атрибутов?
Например, таблица ключей/значений с ключом xpath как ключ и значение как значение, связанное с объектом документа.
Кто-нибудь сделал какие-либо другие впечатления или заметил что-то упоминаемое?
Я все еще полностью раздутый, что они существуют в первую очередь. Когда я увидел вашу ссылку, я подумал, что это была шутка из старых шуток april :) –
утешительный факт, что даже вы все не знаете;) –
Я на самом деле не так уж хорош в mySQL за пределами того, что нужно веб-разработчику каждый день. Я все еще в тупике о том, как * I * стал пользователем # 6 в теге :) –