¿Por qué postgrelsql es inferior a mysql?
En segundo lugar, cualquier sistema tiene sus limitaciones de rendimiento. En el caso de una alta lectura y escritura concurrentes y la carga está cerca del límite, el índice de rendimiento de PG aún puede mantener una curva hiperbólica o incluso logarítmica y no disminuirá después de alcanzar el pico, mientras que MySQL disminuirá significativamente después de un pico. (Después de la versión 5.5, Enterprise Hay un complemento en la versión que puede mejorarlo mucho, pero requiere pago).
En tercer lugar, PG ha estado en una posición dominante en el campo SIG durante muchos años debido a sus ricos tipos de geometría. De hecho, tiene más que solo tipos de geometría. PG tiene una gran cantidad de tipos de datos, como diccionarios, matrices, mapas de bits, etc. , comparado con mysql que es mucho peor. Instagram usa PGSQL porque la extensión de base de datos espacial POSTGIS de PG es mucho más fuerte que my espacial de MYSQL.
En cuarto lugar, la característica "sin bloqueo" de PG es muy destacada e incluso incluye operaciones para organizar el espacio de datos como el vacío, que está relacionado con la implementación MVCC de PGSQL.
En quinto lugar, PG puede usar funciones e índices condicionales, lo que hace que el ajuste de la base de datos de PG sea muy flexible. MySQL no tiene esta función, y los índices condicionales son muy importantes en las aplicaciones web.
En sexto lugar, PG tiene capacidades de programación SQL extremadamente sólidas (¡Turing 9.x completo, admite recursividad!) Y tiene funciones estadísticas muy ricas y soporte de sintaxis estadística, como la función de análisis (nombre de ORACLE, ventana llamada funcionan en PG), los procedimientos almacenados también se pueden escribir en muchos idiomas, lo que también es muy compatible con R. En este punto, MYSQL está lejos de ser adecuado y muchas funciones analíticas no son compatibles. El almacenamiento de datos interno de Tencent es principalmente MYSQL, pero el análisis de datos es principalmente HADOOP + PGSQL.
7. PG tiene una variedad de arquitecturas de clúster para elegir. plproxy puede admitir duplicación o fragmentación a nivel de declaración, slony puede realizar configuraciones de sincronización a nivel de campo y el modo de espera puede generar lectura de transmisión o nivel de archivo WAL. -escribir grupos de separación, y la frecuencia de sincronización y la estrategia del grupo se pueden ajustar fácilmente y la operación es muy simple.
8. La longitud de la cadena de las bases de datos relacionales generales es limitada, alrededor de 8k. El tipo de texto infinito tiene funciones limitadas y solo se puede acceder a ellos como big data externos. Se puede acceder directamente al tipo de texto de PG y la sintaxis SQL tiene expresiones regulares integradas y se puede indexar, realizar búsquedas de texto completo o utilizar xml xpath. Las bases de datos de documentos se pueden guardar usando PG.
9. Para aplicaciones WEB, la función de replicación es muy importante. Mysql todavía se replica de forma asincrónica y pgsql se puede replicar de forma sincrónica, asincrónica y semisincrónica. Además, la sincronización de MySQL se basa en la replicación binlog, similar a Oracle Golden Gate, que se basa en la replicación de flujo. Es muy difícil lograr la sincronización, que es más adecuada para la replicación remota. La replicación de pgsql se basa en wal y puede lograr una replicación sincrónica. Al mismo tiempo, pgsql también proporciona replicación de transmisión.
10. pgsql admite la arquitectura numa mejor que mysql y su rendimiento de lectura es mejor que MYSQL. El envío de pgsql puede ser completamente asíncrono, pero la tabla de memoria de mysql no es práctica (debido a los bloqueos de la tabla).
Finalmente, siento que PG no es tan bueno como MySQL.
Primero, MySQL tiene cierto soporte de operación y mantenimiento real. Por ejemplo, la página slow-query.log definitivamente se puede personalizar, pero sería mejor si se pudiera configurar y usar.
El segundo es el motor innodb de mysql, que puede optimizar completamente el uso de toda la memoria en el sistema, mientras que PG no utiliza completamente la memoria en memorias grandes.
En tercer lugar, la replicación de MySQL puede usar bibliotecas esclavas de varios niveles, pero antes de 9.2, PGSQL no puede usar bibliotecas esclavas para traer bibliotecas esclavas.
En cuarto lugar, a juzgar por los resultados de la prueba, mysql 5.5 ha mejorado enormemente su rendimiento. El rendimiento independiente es mejor que pgsql, y 5.6 debería ser más potente.
En quinto lugar, para aplicaciones web, la función MC API incorporada de mysql 5.6 es muy fácil de usar, pero PGSQL es relativamente pobre.
Otros:
Hay empresas comerciales detrás de pgsql y mysql, no son la misma empresa. A la mayoría de los desarrolladores se les paga.
Es incorrecto decir que mysql es mucho más rápido que pgsql y la velocidad es cercana, y a menudo depende de su configuración.
Para funciones como procedimientos almacenados, funciones y vistas, ambas bases de datos ahora las admiten.
Además, no existe una distinción absolutamente buena o mala entre la arquitectura multiproceso y la arquitectura multiproceso. Oracle tiene una arquitectura multiproceso en Unix y una arquitectura multiproceso en Windows.
Muchas aplicaciones de pg también son aplicaciones 24 horas al día, 7 días a la semana, como por ejemplo skype. Las versiones recientes de VACUUM básicamente no afectan el funcionamiento de PGSQL después de 8.0 y pueden ejecutarse en Windows sin cygwin.
En cuanto al soporte de transacciones, no hay problema con mysql y pgsql.