Principios de diseño de bases de datos MySQL

Directorio

Principios básicos

Principio de clase de campo

Principio de índice

Principios tipo SQL


 

Principios básicos

 

1. No realice cálculos en la base de datos;
2. Mueva el cálculo de la CPU a la capa empresarial;
3. Controle el número de columnas (los campos son pocos y precisos , se recomienda que el número de campos esté dentro de 20);
4. Equilibre el paradigma y la redundancia (eficiencia primero; a menudo sacrifique el paradigma )
5. Rechazar 3B (rechazar instrucción SQL grande: sql grande, rechazar transacción grande: transacción grande, rechazar lote grande: lote grande);

 

 

Principio de clase de campo


1. Use buenos tipos numéricos (use tipos de campo adecuados para ahorrar espacio);
2. Convierta caracteres en números (la mejor conversión que se puede convertir, también ahorre espacio y mejore el rendimiento de la consulta);
3. Evite usar campos NULL (los campos NULL son difíciles Optimización de la consulta, el índice del campo NULL requiere espacio adicional y el índice compuesto del campo NULL no es válido)
4. Use menos tipo de texto (intente usar varchar en lugar del campo de texto);

 

 

Principio de índice


1. Use el índice razonablemente (mejore la consulta, ralentice la actualización, el índice no debe ser lo más posible);
2. El campo de caracteres debe construir un índice de prefijo (especifique el rango de tipo de datos del campo de índice)

ALTER TABLE `city_demo` ADD KEY `idx_city` (`city`(7))

3. No realice operaciones de columna en el índice;
4. Se recomienda que la clave primaria de Innodb use columnas de incremento automático (clave primaria para establecer un índice agrupado, la clave primaria no debe modificarse, la cadena no debe ser la clave primaria) (comprenda que la estructura de almacenamiento de índice de Innodb lo sabrá);
5 Sin clave foránea (restringido por la garantía del programa);

 

 

Principios tipo SQL

 

1. La instrucción sql es lo más simple posible (un sql solo puede operar en una CPU, la declaración grande divide la declaración pequeña, reduciendo el tiempo de bloqueo, un sql grande puede bloquear toda la biblioteca);
2. transacciones simples;
3. evite usar trig / func (Los disparadores y las funciones no se reemplazan por programas de cliente);
4. Sin selección * (consumo de CPU, io, memoria, ancho de banda, este programa no es escalable);
5. O se reescribe como IN (o la eficiencia es n nivel) ;
6.O reescrito como UNION (mysql index merge es muy discapacitado mental);

select id from t where phone = ’159′ or name = ‘john’;
select id from t where phone=’159′
union
select id from t where name=’jonh’

7. Evite el% negativo;
8. Use el conteo (*) con precaución;
9. limite la paginación eficiente (cuanto mayor sea el límite, menor será la eficiencia);
10. Use la unión de todos en lugar de la unión (la unión tiene sobrecarga de deduplicación);
11. Use menos Connect join;
12. Utilice la misma comparación de tipos;
13. Divida las actualizaciones por lotes;

568 artículos originales publicados · Me gusta 180 · Visitas 180,000+

Supongo que te gusta

Origin blog.csdn.net/Delicious_Life/article/details/105611748
Recomendado
Clasificación