Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Toxico

#41
Cita de: ^TiFa^ en 29 Noviembre 2009, 19:59 PM
Por ponerte ejemplos sencillos, asume que haces lo siguiente y por desgracia sufres un corte electrico a mitad del proceso o sencillamente pierdes conexión a la red o similar, falla de disco etc :

* Transacciones masivas entre un esclavo y un maestro (espejo)
* Transaciones en clusteres
* Transferencia de datos de una DB a otra
* Restaurancion de un backup de mas de 50GB

- Son solo ejemplos basicos, cosas que pueden hacer que un o mas tablas se corrompan de alguna u otra forma. Que aunque influye tambien en parte en esto el motor de almacenamiento (como los no transaccionales en MySQL) hago incapie en que no es la causa del todo. (He visto tablas corromperse en motores transaccionales como InnoDB a causa de un programador web que asigno como indice campos varchar) mientras mas consistentes sean los datos, por cuestion de rendimiento y optimizacion al menos yo, me inclino mas en campos caracteres por char aunque me ocupe mas espacio en disco, son mas improbables a corromperse incluso en tablas Myisam (Que suelen corromperse con frecuencia) .

Aunque sera cuestion de gustos, he conocido DBA Seniors en Oracle que les he preguntado cosas tan simples como, sabes la diferencia entra un char y un varchar2? y me han respondido cosas tipo: que no son acaso lo mismo.... y he tenido que exponerle que no y el porque.

Yo me he tornado un poco maniatica con la optimizacion de los motores de DB, no digo que varchar sea mediocre o malo, porque ejerce su funcion decentemente aunque tenga sus riesgos, las unicas veces que opto por varchar es si son campos de una tabla que no sean muy importantes o tenga que economizar espacio en el disco, o similar. De lo contrario, intento que todos los tipos de datos sean lo mas consistentes posibles, asi se evita la gente muchos problemas futuros.


Se que no es mi hilo, pero necesito que me aclares algo, tu mencionas que se corrompe toda la tabla(eso es lo probable y logico) debido a una falla determinada (corte de electricidad o caida de red en tu ejemplo )lo que no me parece logico es que sea mas probable que se corrompan determinados campos solo por tener el tipo de datos varchar lo cual me parece incorrecto, por que las unicas veces donde los campos de tipo caracter estan propensos a ser truncados(corruptos) es cuando haces migraciones de distintos motores(por los tipos de intercalacion que poseen los tablas o por caracteres validos en un motor y en el otro no) ejem. sybase a sqlserver o viceversa. pero esto es indistinto ya que es aplicable tanto para campos char y varchar.

Como nota adicional de suceder un error(sea cual sea la naturaleza)  para el tipo de transacciones del ejemplo se corrompen las tablas haciendolas inclusive inoperativas, en el caso de quedar operativa al ser error transaccional se trunca la insercion de registros ya que la ATOMICIDAD que mencionas se aplica a las transacciones mas no a un tipo de dato en particular, por lo cual la expresion "(Varchar es muy dispuesto a corromperse no tiene mucha atomicidad)" me queda bastante confusa hasta me aventuraria a decir incorrecta y quisiera saber a que hacer referencia; todos los dias se aprende algo nuevo dicen quizas me he perdido de algo...

atte.
Miguel Angel
#42
Cita de: ^TiFa^ en 29 Noviembre 2009, 07:20 AM
(Varchar es muy dispuesto a corromperse no tiene mucha atomicidad)

Bajo que condiciones sucede eso?, me refiero al corromperse.

atte
Miguel Angel
#43
supongo que es mysql o sqlserver.

NOT NULL, como su nombre lo dice, que el campo no admite valores nulos, no los campos vacios en un ejemplo:

INSERT INTO (id,nombre) tablita
VALUES (1,NULL)

Dara error, mientras que

INSERT INTO(id,nombre) tablita
VALUES(1,'')

Sera aceptado ya que son valores diferentes.

Sobre los tipos de datos, es mejor trabajar con los tipos de datos para cada cosa para eso estan, en performance hacer una busqueda por un campo de tipo numerico es mas rapido que uno tipo varchar, y para fechas te evitaras las odiosas conversiones trabajando con el tipo de datos date.

atte.
Miguel Angel
#44
Hola, Si Solo Necesitas el campo DATA , solo coloca DATA en lugar de *, con esto te deberia de funcionar en MSSQL.

SELECT DATA FROM ejemplo WHERE (DATA) NOT IN (SELECT DATA FROM ejemplo WHERE eid =X) GROUP BY DATA


Saludos
Miguel Angel

#45
PHP / Re: Organizar Tabla HTML
26 Abril 2009, 00:02 AM
Hola wapa.


while ($registros = mysql_fetch_array($consulta, MYSQL_NUM)) {
print "<tr><td bgcolor='orange'>$registros[0]</td><td  bgcolor='blue'>$registros[1]</td></tr>";

}



Veo que falta un <tr> talvez sea ese el problema al inicio del print.

Un Saludo
Miguel Angel
#46
PHP / Grid dentro de Option
17 Abril 2009, 07:54 AM
Saludos a todos.

Mi pregunta es la siguiente se puede poner una especie de grid dentro de un
<option></option>

lo he intentado de la siguiente manera:


while ($crow = mysql_fetch_array($cresult))
{
?>
<option><?php echo "<table>
                         <tr><td>"
.$crow['var1']."</td></tr>
                         <tr><td>"
.$crow['var2']."</tr>
                         <tr><td>"
.$crow['var3']."</td></tr>
                   </table>"
              
?>

</option>
<?php
}
?>



Para intentar emular la grilla en la tabla, pero no lo consigo  :-(. ya que en el <select> no muestra nada y los datos los pinta a un costado.


Referente a la pregunta lo que quiero es basicamente como la imagen adjunta.



PD: Abstenerce respuestas "con javascript sale"  ;D

Gracias por su atencion.

Un Saludo Miguel Angel.
#47
Cita de: Dominicano en 21 Junio 2008, 02:02 AM
Cita de: Resolv en 20 Junio 2008, 21:52 PM
no me van los links ...

Los links no estan rotos, espera que se cargue bien la pagina, y mas abajo te saldra un texto que dice Download Link, pues en el link que te muestre, hay tienes que hacer click para bajar el archivo, y listo.

saludos...

Eso hice, pero igual no me hiba era error del firefox o eso quiero creer, copie y pegue los links de descarga en IE, y comenzo a descargar.

Saludos
#48
no me van los links ...
#49
diablos me confundi tenias razon era el "\" publique algo apurado la respuesta  :xD, bueno:


Lo que yo te aconsejo es hacer las consultas en un stored procedure y luego hacer el llamado a los stored procedure desde una capa de acceso a datos. Esto a rasgos generales si no lo entiendes o no lo puedes hacer me lo haces saber para hacer una explicacion mas detallada.

#50
Agregale en lugar de ./SQLEXPRESS, ponle .//SQLEXPRESS.