¿como evitar los hot blocks?

04/05/2008 - 18:38 por AntonioFox | Informe spam
¿Que tal?

Estaba traspasando una clasica tabla de contadores (donde llevo contador
de facturas, documentos de venta, pedidos ...) a SQL Server y leo que
esta practica no es recomendada por el problema de los hot blocks

Entonses ¿que me recomienda para no tener el problema de los hot blocks
y como hago para tambien tener mis contadores? No me valen identities ya
que nesecito que me genere numeros realez

Gracias

AntonioFox

Preguntas similare

Leer las respuestas

#31 Gux (MVP)
05/05/2008 - 22:21 | Informe spam
No es que quiera alimentar a troll alguno
Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Maxi" wrote:

Don't feed the troll ;-)


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Gux (MVP)" escribió en el mensaje
news:
>
> "Alfredo Novoa" wrote:
>
>> On Mon, 5 May 2008 08:44:00 -0700, Gux (MVP)
>> wrote:
>>
>> >En lo que respecta a usar tablas numeradoras, me parece una buena opción
>> >para ciertos escenarios donde el usuario quiere por ejemplo, renumerar
>> >un
>> >cierto valor ("quiero que ahora las facturas se numeren a partir de X,
>> >lo
>> >quiero lo quiero lo quiero ya" :-)).
>>
>> Pues haces un update y listo. No necesitas las tablas numeradoras para
>> eso.
>>
>
> Por ejemplo, supongamos que la aplicación tiene una tabla Factura que
> tiene
> una columna Numero (el número único de cada factura). Imaginemos estos
> datos:
>
> FACTURA (Numero, ... otros datos de factura ...)
> 1 datos2
> 2 datos4
> 3 datos6
>
> Asumo ahora que la aplicación que inserta una nueva factura,
> automáticamente
> obtiene normalmente el Numero a insertra mediante un MAX(Numero) + 1.
> Asumo
> que se hacen los aislamientos necesarios para que dicho número no
> colisione
> con otra transacción intentando insertar una factura.
>
> El usuario hoy quiere que las facturas empiecen a partir de 100, sin
> alterar
> las facturas viejas. No vale hacer un UPDATE a la Factura 3 ni insertar
> una
> factura ficticia 100.
>
> No me doy cuenta cómo hacerlo con un UPDATE, cómo dice usted que podría
> hacerse?
>
> Gracias, saludos
> ~gux
>
>
>



Respuesta Responder a este mensaje
#32 Carlos M. Calvelo
05/05/2008 - 22:21 | Informe spam
Hola Alejandro,

On 5 mei, 18:49, Alejandro Mesa
wrote:
Gux,

Te lo dejo de prueba, veras lo que pasa cuando usas SERIALIZABLE .




READ COMMITTED no es suficiente. (Resultado no es correcto)
SERIALIZABLE es necesario. (Resultado es correcto)

Saludos,
Carlos
Respuesta Responder a este mensaje
#33 Gux (MVP)
05/05/2008 - 22:28 | Informe spam
Jamás alimentaría a un troll [*], bastantes tengo en la oficina como para
además lidiar con ellos :-)


Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Maxi" wrote:

Don't feed the troll ;-)


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Gux (MVP)" escribió en el mensaje
news:
>
> "Alfredo Novoa" wrote:
>
>> On Mon, 5 May 2008 08:44:00 -0700, Gux (MVP)
>> wrote:
>>
>> >En lo que respecta a usar tablas numeradoras, me parece una buena opción
>> >para ciertos escenarios donde el usuario quiere por ejemplo, renumerar
>> >un
>> >cierto valor ("quiero que ahora las facturas se numeren a partir de X,
>> >lo
>> >quiero lo quiero lo quiero ya" :-)).
>>
>> Pues haces un update y listo. No necesitas las tablas numeradoras para
>> eso.
>>
>
> Por ejemplo, supongamos que la aplicación tiene una tabla Factura que
> tiene
> una columna Numero (el número único de cada factura). Imaginemos estos
> datos:
>
> FACTURA (Numero, ... otros datos de factura ...)
> 1 datos2
> 2 datos4
> 3 datos6
>
> Asumo ahora que la aplicación que inserta una nueva factura,
> automáticamente
> obtiene normalmente el Numero a insertra mediante un MAX(Numero) + 1.
> Asumo
> que se hacen los aislamientos necesarios para que dicho número no
> colisione
> con otra transacción intentando insertar una factura.
>
> El usuario hoy quiere que las facturas empiecen a partir de 100, sin
> alterar
> las facturas viejas. No vale hacer un UPDATE a la Factura 3 ni insertar
> una
> factura ficticia 100.
>
> No me doy cuenta cómo hacerlo con un UPDATE, cómo dice usted que podría
> hacerse?
>
> Gracias, saludos
> ~gux
>
>
>



Respuesta Responder a este mensaje
#34 Gux (MVP)
05/05/2008 - 22:29 | Informe spam
Me voy off-topic: Esta es la definición que tiene Wikipedia de "troll":

<cito>
En la jerga de Internet, un troll (a veces trol) es un mensaje u otra forma
de participación que busca intencionadamente provocar reacciones predecibles,
especialmente por parte de usuarios novatos, con fines diversos, desde el
simple divertimento hasta interrumpir o desviar los hilos de las discusiones,
o bien provocar flamewars, enfadando a sus participantes y enfrentándolos
entre sí. El troll puede ser más o menos sofisticado, desde mensajes
groseros, ofensivos o fuera de tema, a sutiles provocaciones o mentiras
difíciles de detectar, con la intención en cualquier caso de confundir o
provocar la reacción de los demás.
</cito>

http://es.wikipedia.org/wiki/Troll_(Internet)

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Maxi" wrote:

Don't feed the troll ;-)


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Gux (MVP)" escribió en el mensaje
news:
>
> "Alfredo Novoa" wrote:
>
>> On Mon, 5 May 2008 08:44:00 -0700, Gux (MVP)
>> wrote:
>>
>> >En lo que respecta a usar tablas numeradoras, me parece una buena opción
>> >para ciertos escenarios donde el usuario quiere por ejemplo, renumerar
>> >un
>> >cierto valor ("quiero que ahora las facturas se numeren a partir de X,
>> >lo
>> >quiero lo quiero lo quiero ya" :-)).
>>
>> Pues haces un update y listo. No necesitas las tablas numeradoras para
>> eso.
>>
>
> Por ejemplo, supongamos que la aplicación tiene una tabla Factura que
> tiene
> una columna Numero (el número único de cada factura). Imaginemos estos
> datos:
>
> FACTURA (Numero, ... otros datos de factura ...)
> 1 datos2
> 2 datos4
> 3 datos6
>
> Asumo ahora que la aplicación que inserta una nueva factura,
> automáticamente
> obtiene normalmente el Numero a insertra mediante un MAX(Numero) + 1.
> Asumo
> que se hacen los aislamientos necesarios para que dicho número no
> colisione
> con otra transacción intentando insertar una factura.
>
> El usuario hoy quiere que las facturas empiecen a partir de 100, sin
> alterar
> las facturas viejas. No vale hacer un UPDATE a la Factura 3 ni insertar
> una
> factura ficticia 100.
>
> No me doy cuenta cómo hacerlo con un UPDATE, cómo dice usted que podría
> hacerse?
>
> Gracias, saludos
> ~gux
>
>
>



Respuesta Responder a este mensaje
#35 Alfredo Novoa
05/05/2008 - 22:32 | Informe spam
Hola Alejandro,

El Mon, 5 May 2008 11:15:01 -0700, Alejandro Mesa escribió:

Alfredo,

Al menos lo intentastes?



No tengo un SQL Server en casa.

¿Que pasa, le has encontrado algún bug al SQL Server?


Saludos
Alfredo
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida