PostgreSQL og andre databaser.
PostgreSQL og MSSQL.
PostgreSQL har meget at tilbyde i funktionalitet, så vel som i performance. PostgreSQL bliver betragtet som en 'highend' mere avanceret SQL løsning, som ligger meget op af de mere komplekse SQL typer så som MSSQL og Oracle DB. Derfor er PostgreSQL et sikkert og klogt valg, hvis man ønsker stor funktionalitet til en billig pris, da de stort set har de samme mål indenfor funktionaliteten.
PostgreSQL eller MySQL?
Begge systemer har meget at tilbyde. Naturligvis understøtter MySQL visse ting som PostgreSQL mangler, og omvendt. På nedenstående skema vil du kunne se hvor fleksibelt og funktionsdygtigt PostgreSQL er, i forhold til MySQL:
| Funktion | PostgreSQL | MySQL |
|---|---|---|
| ANSI SQL kompatibilitet | Tæt på ANSI SQL92 | Følger nogle ANSI SQL standarder |
| Hastighed | Langsommere | Hurtigere |
| Sub selects | Ja | Ja (fra MySQL 4.x) |
| Transactions | Ja | Nej |
| Foreign key support | Ja | Nej |
| Views | Ja | Nej |
| Stored procedures | Ja (PL/sql, C, SQL, tcl, Perl) | Nej |
| Triggers | Ja | Nej |
| Unions | Ja | Nej |
| Fulde joins | Ja | Nej |
| Constraints | Ja | Nej |
| Vacuum (oprydning/optimering) | Ja | Nej |
| Brug af forskellige tabeltyper | Nej | Ja |
| Gode udviklingsværktøjer | Nej | Ja |
Hvorfor bruge PostgreSQL?
Mange udviklere vælger at bruge MySQL, når de ønsker hastighed samt et simpelt design, men hvad når der kræves lidt mere end som så? Her kommer PostgreSQL ind i billedet.
Nogle af de mange brugte funktioner, er: triggers, views, stored procedures, og foreign key referencer. De funktioner vil tillade dig at skjule meget af den kompleksitet, som der er i databasen fra din ASP/PHP kode. En af de store forskelle mellem MySQL og PostgreSQL er at du ikke kan lave nested subqueries udfra subselects i MySQL. Her understøtter PostgreSQL mange af de SQL ANSI og SQL92 standarder, samt brug af komplekse SQL kommandoer.
Der er mange grunde til at vælge PostgreSQL fremfor MySQL, her er et par stykker:
- Godt alternativ til MSSQL.
- Komplekse regelsæt.
- Transactions.
- Stored procedures.
- Komplekst/fleksibelt database design.
- Triggers.
- Views.
