2017-01-03 47 views
5

Szukałem posta na blogu lub macierzy cech, która porównuje MySQL i PostgreSQL z ich możliwościami JSON. Znalazłem dobry feature matrix for Postgres, ale nie dla MySQL. Są też takie posty, jak this, które porównują te dwa, ale są nieaktualne i/lub niezupełnie szczegółowe. Do tej pory dowiedziałem się, że oba mogą zapisywać dane przy użyciu typu danych JSONB, są w stanie indeksować pola w JSON w celu poprawy wydajności zapytań i mogą wyszukiwać pełnotekstowe w tych polach. Ale nie jak dobrze i jakie są wady. Jaki jest decydujący czynnik faworyzujący MySQL w stosunku do PostgreSQL i na odwrót dla ich funkcji wyszukiwania JSON?MySQL vs PostgreSQL Funkcje wyszukiwania JSON

(To pytanie zostało wysłane, gdy MySQL 5.7 i PostgreSQL 9.6 były obecne wersje; tego rodzaju rzeczy zmienia się szybko, więc później czytelnicy powinni o tym pamiętać.)

+1

Dobre pytanie, ale może być zamknięte w każdej sekundzie jako zbyt szerokie i prowadzące do subiektywnych odpowiedzi. W przeszłości był to prawidłowy styl pytania w SO, ale obecny głos moderacji oznacza, że ​​prawdopodobnie będziesz rozczarowany, mimo że jest to doskonałe pytanie na rok 2017. –

+0

@VanquishedWombat Tak kuszony, aby oznaczyć twój komentarz "nie jest konstruktywny" tylko po to, żeby cię ulepszyć: p, ale szczerze mówiąc, uważam, że jest wystarczająco specyficzny, by być całkiem przydatnym. Dunno z takich zasobów, byłbym zainteresowany, aby je zobaczyć. –

+0

@CraigRinger - to jedna z przykrości ewolucji SO. Jeśli szukasz podobnych pytań o C vs C# znajdziesz pytania, które pozwoliły żyć i wygenerowały naprawdę użyteczne dane wejściowe. Jednakże, jeśli poprosisz o ich zamknięcie jako temat subiektywny/niedostępny/zbyt szeroki, zostaniesz zestrzelony. Wydaje się, że zawartość SO staje się coraz bardziej stonowana i mniej przydatna dla nowych technologii. Jeśli wziąć pod uwagę liefcycle technologii, zawsze zaczyna się od pytań otwartych, które z biegiem czasu stają się bardziej szczegółowe. Moderatorzy zdają się nie doceniać tego punktu. Chociaż mogę jeszcze zjeść mój kapelusz. –

Odpowiedz

3

Co jest decydującym czynnikiem, który sprzyja MySQL ponad Postgres i na odwrót dla ich funkcji wyszukiwania JSON?

Cóż, fakt, że PostgreSQL JSONB ma kilka funkcji, które zwracają rows natomiast mysql w najlepszym wypadku może wrócić tylko tablic jest wystarczający powód, aby trzymać do PostgreSQL zamiast mysql.

Jeśli uważasz, można mysql zwraca wiersze z JSON proszę odpowiedzieć na pytanie od października, który jest nadal bez odpowiedzi: Convert JSON array in MySQL to rows

Mysql nie jest tak dobry w podzapytaniami jak PostgreSQL, ale ograniczenie funkcjonalności JSON zdolność do wykonywania łączy w stosunku do innych tabel. Natomiast postgresql ma whole heap of functions, który może zwracać wiersze.