una soporta segundo rapida por peticiones optimizar mas lentas lenta hacer cuantas consultas consulta con como mysql sql-server database schema

soporta - peticiones mysql



¿Diferencias entre la base de datos y el esquema utilizando diferentes bases de datos? (4)

Creo que al decir ''esquema'' para MS SQL significa ''propietario''.

Desde mi entendimiento, en MySQL cuando haces una

SELECT * from world.city;

Esta consulta está seleccionando de la base de datos mundial la ciudad de la tabla.

En MsSQL deberás hacer un

SELECT * from world.dbo.city;

Donde ''dbo'' es el propietario predeterminado de la tabla.

Para facilitar la vida, defina la base de datos predeterminada escribiendo

USE world SELECT * from city;

En MySQL no hay forma de declarar al propietario de la tabla. es decir. ''dbo''.

¿Cuáles son las diferencias en la terminología de la base de datos entre MS SQL y MySQL?

¿Puede una instancia de MySQL tener más de una base de datos? Parece que solo puede crear diferentes esquemas. Sin embargo, el comando SQL es create database .

En MS SQL, puede crear múltiples bases de datos ... ¿cada una tiene un esquema predeterminado de dbo? ... ¿pero aún es posible tener varios esquemas en una base de datos?


Desde este link , vemos que los esquemas MS SQL ya no están vinculados a los usuarios, aquí está la cita relevante:

El comportamiento de los esquemas cambió en SQL Server 2005. Los esquemas ya no son equivalentes a los usuarios de la base de datos; cada esquema es ahora un espacio de nombre distinto que existe independientemente del usuario de la base de datos que lo creó. En otras palabras, un esquema es simplemente un contenedor de objetos. Un esquema puede ser propiedad de cualquier usuario y su propiedad es transferible.

En MySQL, las bases de datos y los esquemas son exactamente lo mismo, incluso puede intercambiar la palabra en los comandos, es decir, CREATE DATABASE tiene el sinónimo CREATE SCHEMA.

MySQL admite múltiples bases de datos (esquemas) y MS SQL admite múltiples bases de datos y múltiples esquemas.


En general, encontré útil el siguiente artículo en Wikipedia .

En la parte inferior del artículo está lo siguiente:

La especificación SQL deja en claro qué es un "esquema SQL"; sin embargo, diferentes bases de datos lo implementan incorrectamente. Para complicar esta confusión, la funcionalidad puede, cuando se implementa incorrectamente, superponerse con la de la base de datos principal. Un esquema SQL es simplemente un espacio de nombres dentro de una base de datos, las cosas dentro de este espacio de nombres se direccionan utilizando el operador miembro dot ".". Esto parece ser un universal entre todas las implementaciones. Una verdadera consulta completa (base de datos, esquema y tabla) se ejemplifica como tal: select * from database.schema.table

Ahora, el problema, tanto un esquema como una base de datos se pueden usar para aislar una tabla, foo de otra como tabla llamada foo . El siguiente es un pseudo código: select * from db1.foo vs. select * from db2.foo (sin esquema explícito entre db y table) select * from [db1.]default.foo vs. select * from [db1.]alternate.foo (sin prefijo db explícito) El problema que surge es que los antiguos usuarios de MySQL crearán múltiples bases de datos para un proyecto. En este contexto, las bases de datos MySQL son análogas en función de Postgres-schemas, por lo que Postgres carece de la funcionalidad de bases de datos cruzadas que tiene MySQL. Por el contrario, Postgres ha aplicado más de la especificación que implementa cross-table, cross-schema, y ​​luego dejó espacio para futuras funcionalidades entre bases de datos. MySQL alias detrás de escena, esquema con base de datos, tal que crear esquema y crear base de datos son análogos.

Se puede decir que MySQL, por lo tanto, implementó la funcionalidad de tabla cruzada, omitió por completo la funcionalidad de esquema y proporcionó una funcionalidad similar en su implementación de una base de datos . En resumen, Postgres es totalmente compatible con los esquemas, pero carece de algunas funcionalidades que MySQL tiene con las bases de datos, mientras que MySQL ni siquiera intenta dar soporte a los esquemas verdaderos.


MS SQL Definetely admite múltiples bases de datos, cada una con 1 a muchos esquemas, dbo es simplemente el predeterminado para fines de compatibilidad con versiones anteriores.