2009-04-20 63 views

Respuesta

28

En realidad deberías dejar esos dbo. declaraciones SQL porque será más rápido ya que el optimizador no tiene que buscar el esquema

Salida este enlace también Performance Impact of Procedure Calls without Owner Qualification

+0

¿Pero esto no significa que todos mis scripts SQL se romperán si tengo que cambiar los esquemas? Y seguramente el optimizador es lo suficientemente inteligente en estos días para adivinar que estoy haciendo referencia al único esquema al que podría estar refiriéndome ... – MGOwen

-3

Creo que el usuario en el que se conecta debe pertenecer al esquema dbo, y luego no tendrá que escribir el prefijo, lo deducirá de los esquemas a los que pertenece el usuario.

+3

En SQL 2005 y anteriormente, el mismo usuario puede acceso a múltiples esquemas. ¿Entonces que? –

6

Es realmente beneficioso para salir de la DBO. prefix in place - después de todo, en SQL Server, podría tener varios esquemas (el objeto "dbo.") con el mismo nombre de tabla, p. dbo.MyTable, joe.MyTable, frank.MyTable.

Si a continuación, emite un SELECT (lista de campos) DESDE MyTable, SQL Server primero tiene que averiguar cuál de las tablas "MyTable" realmente quiere decir -> esto cuesta tiempo, especificando de inmediato el bate que desea " dbo.MyTable "te ahorrará tiempo.

OK, no mucho en una sola consulta, pero las consultas SELECT son bastante frecuentes y ¡todo suma!

Marc

1

La pregunta de bounty no es exactamente la pregunta original.

Las respuestas actuales no contienen suficientes detalles.

Ninguna de las respuestas aborda realmente la cuestión de cómo eliminar el prefijo dbo o cambiarlo a otra cosa.

dbo es el esquema. No puede eliminar el esquema de una tabla. Puedes alterarlo Hay muchos ejemplos. Aquí hay uno: How do I move a table into a schema in T-SQL.

1

al igual que este, si todo su mesa están en el esquema dbo

use mydatabase 
go 
select * from mytable 

si tiene varias bases de datos que pueden hacerlo también:

select * from mydatabase..mytable 
Cuestiones relacionadas