Ver Mensaje Individual
  #20 (permalink)  
Antiguo 08/07/2013, 20:41
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: insertar 10.000 campos a una tabla, como?

Hola,

Cita:
Iniciado por guardarmicorreo Ver Mensaje
era solo darle una idea fundamental de que ingresar los 10000 números es totalmente erróneo. ...
Personalmente no creo que sea erróneo, pero dependerá también de las necesidades específicas y de otros factores que posiblemente no fueron comentados en este hilo.

Cita:
Iniciado por guardarmicorreo Ver Mensaje
genera un número aleatorio, si existe en la base de datos genera otro y así sucesivamente hasta que encuentre un número libre ofreciendo varios números y el usuario solo lo tiene que comprar.
¿Has probado ese algoritmo alguna vez? Su funcionamiento es exponencial, en tu caso posiblemente se realicen cientos de consultas a la base de datos para saber "que numero no está tomado" cuando ya existan el 50% de los números vendidos. Y eso es ineficiente, con el hecho que exista la posibilidad que haga mas de tres consultas, con ese objetivo, creo que es mas que suficiente para optar por una tabla bien indexada con 10,000 registros.

Cita:
Iniciado por guardarmicorreo Ver Mensaje
por otro lado, muchas personas prefieren escoger directamente su número, cuantas veces tenga que probar es problema del usuario no de los números ya comprados ni del programador.
Sigue siendo ineficiente, si no es problema del programador, el usuario estará probando a ingresar números y su crecimiento de pruebas va a ser exponencial, igual que el problema anterior. Si ya están comprados el 90% de los números será de ver cuantas pruebas tendrá que hacer el usuario antes de decantarse por "no comprar el número" por problemas de usabilidad del sitio.

Cita:
Iniciado por guardarmicorreo Ver Mensaje
en un caso u otro solo tiene que comprobar que un número ya fué comprado o no, ...
¿Solamente tiene que comprobar? .. pero como explique anteriormente el problema es ¿cuantas veces?, si estuvieran comprados el 75% de los números no me quiero imaginar cuantas veces vas a tener que consultar la base de datos para generar un número "no comprado".

Cita:
Iniciado por guardarmicorreo Ver Mensaje
... hasta que el usuario escoja en una lista paginada su número eso es realmente ineficiente ¿no crees?
Nadie habló de paginado, un simple <select> con un <input text> y un poco de javascript van a ser la magia de "no realizar mas de las consultas necesarias a la base de datos" en un sitio usable.

Pero al final dependerá de las necesidades específicas de dario_rey_musico.

Cita:
Iniciado por dario_rey_musico Ver Mensaje
bueno voy a leer sobre los bucles while o for para ver si puedo hacer los 10mil registros...
El ejemplo de carlos_belisario te podrá ser muy útil.

Saludos,