![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola.
Interesante el concepto de Heap Tables, no lo conocía. Pero si no me equivoco no són más que tablas en memória. Muy rápidas para hacer consultas, pero no proporcionan ninguna capacidad adicional para realizar consultas. No permiten realizar ninguna consulta que no se pudiese realizar sobre tablas normales y/o vistas. ¿ Me equivoco ?. Me parece curioso que no necesites subconsultas, puesto que yo las utilizo muy a menudo. Algunas veces (solo algunas) se pueden sustituir por un Join y opcionalmente una agrupación, pero la sintaxis con subconsulta suele ser mucho más elegante y fácil de entender y mantener. Veamos un ejemplo muy simple : ¿ Como harías sin subconsultas, un listado de clientes, con su total de pedidos y ventas ? Código:
select cliente, (select count(*) from pedidos where pedidos.codigo = cliente.codigo) as pedidos, (select count(*) from ventas where ventas.codigo = cliente.codigo) as ventas from clientes
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). Última edición por guillotmarc fecha: 08-04-2004 a las 11:24:47. |
|
#2
|
||||
|
||||
|
Cita:
Lo que quiereo decir con esto es que, si bien es cierto que le faltan algunas características comunes a otros servidores, la peculiaridad de MySql hace que te perimita hacer las mismas cosas "de otras maneras". Cita:
Cita:
Código:
select cliente, pedidos_cliente(cliente) as pedidos, ventas_cliente(cliente) as ventas from clientes
__________________
E pur si muove |
|
#3
|
||||
|
||||
|
Hola.
Cita:
¿ Que ocurre si no eres el Administrador de la Base de Datos ?. Si solo tienes derechos a realizar consultas, pero sin poder crear objetos, vas a tener que complicarte la vida haciendo calculos en el cliente. Cita:
Cita:
Naturalmente muchas veces habrá alguna forma de sortear el problema. Por ejemplo se me ocurre crear dos vistas como : Código:
create view NumVentas as select Codigo, count(*) as nVentas from Ventas inner join Clientes on Clientes.Codigo = Ventas.Codigo group by Codigo create view NumPedidos as select Codigo, count(*) as nPedidos from Pedidos inner join Clientes on Clientes.Codigo = Pedidos.Codigo group by Codigo Código:
select Codigo, nVentas, nPedidos from Clientes left outer join NumVentas on Clientes.Codigo = NumVentas.Codigo left outer join NumPedidos on Clientes.Codigo = NumPedidos.Codigo Cita:
Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). Última edición por guillotmarc fecha: 08-04-2004 a las 14:15:12. |
|
#4
|
||||
|
||||
|
Por cierto, no tengo ninguna duda de que MySQL va a ser una opción a tener en cuenta a largo plazo. Algunos gigantes de la industria se empiezan a volcar en él (hace poco leí que una gran empresa Simenens/Nokia/... había donado software de clustering a MySQL). Además al incorporar el código de SapDB dentro de MySQL promete resultar en un producto muy completo.
Aunque todo esto está en desarrollo, es algo que veremos en el futuro. Hoy en dia no considero a MySQL como rival a tener en cuenta para PostgreSQL, Firebird, SQL Server, Oracle, .... Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#5
|
||||
|
||||
|
O sea, que MySQL es una mierdecilla ¿no?
MySQL ya sabemos que no es igual que oracle o firebird, no hay que estudiar mucho para eso. Pero tampoco hay que estudiar mucho para saber que el no ser igual, o el ser mas "pequeño", o el ser mas "simple", no es lo mismo que ser peor. MySQL se usa sobre todo para aplicaciones web, que a menudo suelen requerir rapidez en la ejecucion de las consultas, por ejemplo, aplicaciones como estos foros. Para estas cosas MySQL es fácil de usar y sencillo de mantener. Por ejemplo, en cualquier momento se puede hacer una copia del directorio /var/lib/mysql y ya tenemos una copia de seguridad sin necesidad de cerrar la bd ni nada parecio. Y la manera de gestionar los permisos es facilisima, incluso se pueden poner restricciones a direcciones IP y/o hosts. MySQL esta hecha para este tipo de cosas, faciles, sencillas, y por eso no tiene todas esas cosas que si tienen otros servidores, o sea: menos caracteristicas, y mas velocidad. El dia que MySQL se parezca a a esos otros servidores algunos tendremos que buscar alguna alternativa que cubra el hueco que dejará MySQL. Por ejemplo: este sistema de foros (el phpbb) puede confiigurarse para trabajar con postgresql (tambien para MS SQL y algunos mas) teniendo en cuenta que en clubdelphi.com se dispone de un servidor postgresql y tambien en la mayoria de sevidores que usan linux ¿porque aquí y tantos otros sitios no se usa postgresql y se sigue usando mysql? ¿será porque es mas fácil usar MySQL? eso creo yo. ¡Saludos!
__________________
"la única iglesia que ilumina es la que arde" Anonimo |
|
#6
|
||||
|
||||
|
Cita:
Cita:
Cita:
Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). Última edición por guillotmarc fecha: 13-04-2004 a las 10:46:38. Razón: Faltaba englobar parte de una cita en [QUOTE] |
|
#7
|
||||
|
||||
|
Hola,
estoy de acuerdo con tu opinión, salvo con: Cita:
Saludos. |
![]() |
|
|
|