Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/03/2014, 09:10
Avatar de arielenter
arielenter
 
Fecha de Ingreso: abril-2009
Mensajes: 75
Antigüedad: 15 años
Puntos: 2
Pregunta Acelerar consulta y actualizacion

Hola, tengo una bd con 7.000 Registros siempre va a ser la misma cantidad.

Esta es la base de datos. (captura de pantalla abajo).


Mi Problema es que tengo esta consulta y si lo hago en mi pc lo hace rapido menos de 1 segundo, cuando paso a la pc del cliente ya lleva como 2 0 3 segundo, se que su pc es mas lento que el mio se que por ahi van las cosas.

Código VB6:
Ver original
  1. Sub BUSCAR_NUMERO_CANTADO(ByVal xNumeroCarton As String)
  2.  
  3.     ComandoSQL = "UPDATE bingo75 SET aciertos=aciertos+1"
  4.     ComandoSQL = ComandoSQL & " WHERE matriz LIKE '%" & xNumeroCarton & "%' AND habilitado = 'SI'"
  5.     cnADO.Execute ComandoSQL
  6.        
  7. End Sub

Código VB6:
Ver original
  1. Private Sub cmdNumero_Click(Index As Integer)
  2.     Call BUSCAR_NUMERO_CANTADO(cmdNumero(Index).Caption)
  3. End Sub

Ahora he divido el campo matriz por columnas asi: (captura de pantalla abajo)


Lo que hago es dividir las columnas al hacer esto hay menos datos que buscar por COLUMNA pero siempre va a ser 7.000 registros esto acelera en en algo?.

Código VB6:
Ver original
  1. Private Sub cmdBolilla_Click(Index As Integer)
  2.    
  3.     Dim xValor As Integer
  4.     xValor = Val(cmdBolilla(cmdBolilla(Index).Index).Caption)
  5.        
  6.     If xValor = 1 Or xValor <= 15 Then
  7.         Call BUSCAR_NUMERO_CANTADO(cmdBolilla(Index).Caption, "lb")
  8.     ElseIf xValor = 16 Or xValor <= 30 Then
  9.         Call BUSCAR_NUMERO_CANTADO(cmdBolilla(Index).Caption, "li")
  10.     ElseIf xValor = 31 Or xValor <= 45 Then
  11.         Call BUSCAR_NUMERO_CANTADO(cmdBolilla(Index).Caption, "ln")
  12.     ElseIf xValor = 46 Or xValor <= 60 Then
  13.         Call BUSCAR_NUMERO_CANTADO(cmdBolilla(Index).Caption, "lg")
  14.     ElseIf xValor = 61 Or xValor <= 75 Then
  15.         Call BUSCAR_NUMERO_CANTADO(cmdBolilla(Index).Caption, "lo")
  16.     End If
  17.    
  18. End Sub

Código VB6:
Ver original
  1. Sub BUSCAR_NUMERO_CANTADO(ByVal xNumeroCarton As String, xLineas As String)
  2.    
  3.     ComandoSQL = "UPDATE bingo75 SET aciertos=aciertos+1"
  4.     ComandoSQL = ComandoSQL & " WHERE " & xLineas & " LIKE '%" & xNumeroCarton & "%' AND estado='SI'"
  5.     cnADO.Execute ComandoSQL
  6.    
  7. End Sub
__________________
www.enterpy.net