Maison  >  Article  >  base de données  >  Découvrez comment MySQL est optimisé

Découvrez comment MySQL est optimisé

jacklove
jackloveoriginal
2018-06-14 15:38:171598parcourir

Optimisation MySQL

  • 1. Optimiser les index, les instructions SQL, l'analyseRequête lente;

  • 2. Lors de la conception de tableaux, suivez strictement le paradigme de conception de base de données pour concevoir la base de données

  • 3. notre L'architecture métier est mise en cache, statique et distribuée

  • 4 Au lieu de l'indexation en texte intégral, utilisez Xunsearch,. ES ou index sur le serveur cloud

  • 5. Si l'efficacité n'est toujours pas assez bonne, vous pouvez utiliser la méthode maître-esclave pour séparer. lecture et écriture de données ;

  • 6. Vous pouvez ajouter un cache memcached pour placer les données fréquemment consultées mais rarement modifiées dans le serveur de cache memcached, ce qui peut enregistrer les E/S du disque

  • 7. Le matériel peut également être optimisé au niveau matériel, nous pouvons utiliser de meilleurs disques durs (disques SSD) et utiliser certaines technologies de baie de disques (raid0, raid1, raid5)

    - raid0 : le plus simple (deux éléments matériels ajoutent 100G+100G=200G)
    - Raid1 : Volume miroir, copiez les mêmes données en deux exemplaires. Il peut être lu immédiatement depuis A/B, ce qui est plus efficace Même si le disque dur est endommagé, une donnée ne sera pas perdue
    . - raid5 : 3 disques durs, si un est cassé, les deux autres peuvent encore fonctionner.

  • 8. S'il est toujours lent, ne divisez pas encore la table. Vous pouvez utiliser la propre technologie de partitionnement de table de MySQL pour diviser les données en différents fichiers, ce qui permet la lecture du disque. C'est plus efficace ;

  • 9. Vous pouvez diviser la table verticalement et placer les données qui ne sont pas fréquemment lues dans une autre table (en économisant les E/S du disque

  • 10. La quantité de données est extrêmement importante et il nous sera difficile de l'optimiser à l'heure actuelle, nous pouvons utiliser un middleware de base de données pour diviser les données en bases de données, tables et machines. (Principe : routage des données) ;
  • 11. De plus, certaines méthodes de stockage plus rapides peuvent également être utilisées, comme NoSQL pour stocker certaines données auxquelles nous devons accéder fréquemment (après la base de données). est supprimé, puis supprimez d'autres données de NoSQL);
  • 12 De plus, il existe des options de
  • moteur de table , et l'optimisation des paramètres est également liée. Les astuces sont toutes les façons d'optimiser MySQL


Requête lente : fait référence à une requête d'instruction SQL qui dépasse le temps spécifié. analyser les performances de la requête d'instruction MySQL consiste à utiliser la sortie d'explication. Le plan d'exécution permet également à MySQL d'enregistrer les requêtes qui dépassent le temps spécifié.

Xunsearch : une solution professionnelle de recherche en texte intégral gratuite et open source, conçue pour aider les développeurs généralistes à créer rapidement et facilement leurs propres moteurs de recherche en texte intégral pour les données massives existantes. La recherche en texte intégral peut contribuer à réduire la charge de recherche sur le serveur et à améliorer considérablement la vitesse de recherche et l'expérience utilisateur.

ElasticSearch : Un serveur de recherche basé sur Lucene. Il fournit un moteur de recherche en texte intégral distribué multi-utilisateurs basé sur une interface Web RESTful.

Paradigm Fonctionnalités
La première forme normale (1NF) a une atomicité, c'est-à-dire que les informations de la
表引擎 优点 不足
ISAM 读取速度快,且不占用大量内存和存储资源 不支持事务,不能容错;如果硬盘崩溃了,数据文件就无法恢复(常备份)
MYISAM ISAM扩展格式和缺省数据引擎,提供了ISAM里所没有的索引和字段管理的大量功能,MYISAM使用表锁 不支持事务,不支持外键
INNODB和BERKLEY(BDB) 支持事务,支持外键 数据读取较慢
HEAP 允许只驻留在内存里的临时表格,因此比ISAM和MYISAM都快 管理的数据都是不稳定的,如果在关机前数据没保存,那么所有的数据都会丢失(表格用完之后就删除表格);需要select表达式来选择和操控数据时非常有用
colonne
ne peuvent pas être divisées [colonne unique]
Deuxième forme normale (2NF) Sur la base de la première forme normale, chaque instance ou
范式 特点
第一范式(1NF) 具有原子性,即的信息不可再分【列唯一】
第二范式(2NF) 以第一范式为基础,数据表的每一个实例或者,必须要唯一的区分(每行上建主键)【行唯一】
第三范式(3NF) 基于第二范式,一个数据库,不包含已在其他表中的非主键列
ligne de la table de données doit être distinguée de manière unique (chaque ligne Build Primary Key) [row unique]
Troisième forme normale (3NF) Basée sur la deuxième forme normale, une base de données ne contient pas d'informations qui sont déjà dans d'autres tables Colonnes de clé non primaire

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn