MySQL分区表的使用_MySQL
bitsCN.com
MySQL使用分区表的好处:
1,可以把一些归类的数据放在一个分区中,可以减少服务器检查数据的数量加快查询。2,方便维护,通过删除分区来删除老的数据。3,分区数据可以被分布到不同的物理位置,可以做分布式有效利用多个硬盘驱动器。MySQL可以建立四种分区类型的分区: RANGE 分区:基于属于一个给定连续区间的列值,把多行分配给分区。· LIST 分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。 www.bitsCN.com · HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含MySQL 中有效的、产生非负整数值的任何表达式。· KEY 分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL 服务器提供其自身的哈希函数。必须有一列或多列包含整数值。一般用得多的是range分区和list分区。RANGE分区这里以一个销售的业务来做测试销售表有日期/商品/销售额三个字段测试数据从2010年1月1日至2010年9月31日以“月”为单位进行分区初期分区定义首先需要查看,当前数据库是否支持分区mysql>SHOW VARIABLES LIKE '%partition%';+-------------------+-------+| Variable_name | Value | +-------------------+-------+| have_partitioning | YES | +-------------------+-------+1 row in set (0.03 sec) 创建分区表,按照年月的方式分区。
1 mysql> CREATE TABLE sale_data ( 2 -> sale_date DATETIME NOT NULL, 3 4 -> sale_item VARCHAR(2) NOT NULL , 5 6 -> sale_money DECIMAL(10,2) NOT NULL 7 8 -> ) www.bitsCN.com 9 10 -> PARTITION BY RANGE (YEAR(sale_date)*100+MONTH(sale_date)) (11 12 -> PARTITION p201001 VALUES LESS THAN (201002),13 14 -> PARTITION p201002 VALUES LESS THAN (201003),15 16 -> PARTITION p201003 VALUES LESS THAN (201004),17 18 -> PARTITION p201004 VALUES LESS THAN (201005),19 20 -> PARTITION p201005 VALUES LESS THAN (201006),21 22 -> PARTITION p201006 VALUES LESS THAN (201007),23 24 -> PARTITION p201007 VALUES LESS THAN (201008),25 26 -> PARTITION p201008 VALUES LESS THAN (201009),27 28 -> PARTITION p201009 VALUES LESS THAN (201010),29 30 -> PARTITION pcatchall VLAUES LESS THAN MAXVALUE31 -> );32 33 Query OK, 0 rows affected (0.20 sec)
新增分区
mysql> ALTER TABLE sale_data -> ADD PARTITION (PARTITION p201010 VALUES LESS THAN (201011)); Query OK, 0 rows affected (0.36 sec)Records: 0 Duplicates: 0 Warnings: 0
删除分区
--当删除了一个分区,也同时删除了该分区中所有的数据。mysql> ALTER TABLE sale_data DROP PARTITION p201010;Query OK, 0 rows affected (0.22 sec) www.bitsCN.com Records: 0 Duplicates: 0 Warnings: 0
分区的合并
下面的SQL,将p201001 - p201009 合并为3个分区p2010Q1 - p2010Q3
mysql> ALTER TABLE sale_data -> REORGANIZE PARTITION p201001,p201002,p201003, -> p201004,p201005,p201006, -> p201007,p201008,p201009 INTO -> ( -> PARTITION p2010Q1 VALUES LESS THAN (201004), -> PARTITION p2010Q2 VALUES LESS THAN (201007), -> PARTITION p2010Q3 VALUES LESS THAN (201010) -> ); Query OK, 0 rows affected (1.14 sec)Records: 0 Duplicates: 0 Warnings: 0
分区的拆分
下面的SQL,将p2010Q1 分区,拆分为s2009 与s2010 两个分区
mysql> ALTER TABLE sale_data REORGANIZE PARTITION p2010Q1 INTO ( -> PARTITION s2009 VALUES LESS THAN (201001), www.bitsCN.com -> PARTITION s2010 VALUES LESS THAN (201004) -> ); Query OK, 0 rows affected (0.36 sec)Records: 0 Duplicates: 0 Warnings: 0
一个利用不同物理位置数据源做分区的例子:
CREATE TABLE ts (id INT, purchased DATE) ENGINE=innodb PARTITION BY RANGE(YEAR(purchased)) SUBPARTITION BY HASH(id) ( PARTITION p0 VALUES LESS THAN (1990) ( SUBPARTITION s0 //在大的分区下又有小的分区 DATA DIRECTORY='/usr/local/mysql/data0' //数据源 INDEX DIRECTORY='/usr/local/mysql/index0', //索引数据源 SUBPARTITION s1 DATA DIRECTORY='/usr/local/mysql/data1' INDEX DIRECTORY='/usr/local/mysql/index1' ), PARTITION p1 VALUES LESS THAN (MAXVALUE) ( SUBPARTITION s2 DATA DIRECTORY='/usr/local/mysql/data1' INDEX DIRECTORY='/usr/local/mysql/index1', SUBPARTITION s3 DATA DIRECTORY='/usr/local/mysql/data2' INDEX DIRECTORY='/usr/local/mysql/index2' ) );
分区索引的局限:1,所有分区都要使用同样的引擎。2,分区表的每一个唯一索引必须包含由分区函数引用的列。3,mysql能避免查询所有的分区,但仍然锁定了所有分区。4,分区函数能使用的函数和表达式有限,例如函数有上面的4种。5,分区不支持外键。 www.bitsCN.com 6,不能使用LOAD INDEX INTO CACHE7,分区并不能总是改善性能,要进行性能评测。例如可以使用expalin partitions 来查看查询语句是否使用分区过滤了数据:mysql> explain partitions select * from fenqubiao where day

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Pour améliorer la sécurité des lecteurs réseau, Microsoft prend en charge la protection par mot de passe des dossiers partagés ou des lecteurs réseau. Cependant, pour garantir une protection continue, nous devons modifier régulièrement le mot de passe du lecteur réseau. Cet article explique comment mettre à jour les informations de connexion d'un lecteur réseau sous Windows 11/10. Comment mettre à jour les informations de connexion au lecteur réseau sous Windows Afin de mettre à jour les informations de connexion du pilote réseau, nous devons utiliser Credential Manager. Il s'agit d'une fonctionnalité préinstallée sur les ordinateurs Windows et accessible via le Panneau de configuration. Alors, suivez les étapes ci-dessous pour effectuer la même chose. Cliquez sur Win+S, recherchez « Panneau de configuration » et cliquez sur « Ouvrir ». Modifiez l'affichage de l'écran proportionnellement aux grandes icônes.

Solution : 1. Vérifiez les paramètres d'eMule pour vous assurer que vous avez entré l'adresse du serveur et le numéro de port corrects ; 2. Vérifiez la connexion réseau, assurez-vous que l'ordinateur est connecté à Internet et réinitialisez le routeur ; est en ligne. Si vos paramètres sont S'il n'y a pas de problème avec la connexion réseau, vous devez vérifier si le serveur est en ligne ; 4. Mettez à jour la version d'eMule, visitez le site officiel d'eMule et téléchargez la dernière version du logiciel eMule ; 5. Demandez de l'aide.

En tant qu'utilisateur LINUX, nous devons souvent installer divers logiciels et serveurs sur CentOS. Cet article présentera en détail comment installer Fuse et configurer un serveur sur CentOS pour vous aider à effectuer les opérations associées en douceur. Installation de CentOS fuseFuse est un cadre de système de fichiers en espace utilisateur qui permet aux utilisateurs non privilégiés d'accéder et de faire fonctionner le système de fichiers via un système de fichiers personnalisé. L'installation de Fuse sur CentOS est très simple, suivez simplement les étapes suivantes : 1. Ouvrez le terminal et connectez-vous en tant que. utilisateur root. 2. Utilisez la commande suivante pour installer le package fuse : ```yuminstallfuse3. Confirmez les invites pendant le processus d'installation et entrez `y` pour continuer. 4. Installation terminée

Que dois-je faire si le serveur RPC est indisponible et n'est pas accessible sur le bureau Ces dernières années, les ordinateurs et Internet ont pénétré tous les recoins de nos vies. En tant que technologie de calcul centralisé et de partage de ressources, l'appel de procédure à distance (RPC) joue un rôle essentiel dans la communication réseau. Cependant, nous pouvons parfois rencontrer une situation dans laquelle le serveur RPC n'est pas disponible, ce qui entraîne l'impossibilité d'accéder au bureau. Cet article décrit certaines des causes possibles de ce problème et propose des solutions. Tout d’abord, nous devons comprendre pourquoi le serveur RPC n’est pas disponible. Le serveur RPC est un

Bitlocker est la technologie de cryptage par défaut pour les systèmes d'exploitation Windows. Il est largement utilisé sous Windows, mais certains utilisateurs préfèrent les solutions tierces telles que VeraCrypt. Ce que de nombreux utilisateurs de Bitlocker ne savent pas, c'est qu'il utilise par défaut un cryptage de 128 bits, même si 256 bits sont disponibles. Sans entrer dans les détails des différences, la principale différence entre le cryptage AES 128 bits et 256 bits réside dans la longueur de la clé de sécurité. Des touches plus longues rendent les attaques par force brute plus difficiles. Bien que la valeur par défaut soit de 128 bits, même Microsoft recommande 256 bits pour une meilleure sécurité. Le problème est que la plupart des utilisateurs ne connaissent probablement pas les valeurs par défaut les plus faibles ni comment les modifier. Tout d'abord, vous voudrez peut-être savoir W

Le rôle d'un relais DHCP est de transmettre les paquets DHCP reçus vers un autre serveur DHCP du réseau, même si les deux serveurs se trouvent sur des sous-réseaux différents. En utilisant un relais DHCP, vous pouvez déployer un serveur DHCP centralisé dans le centre réseau et l'utiliser pour attribuer dynamiquement des adresses IP à tous les sous-réseaux/VLAN du réseau. Dnsmasq est un serveur de protocole DNS et DHCP couramment utilisé qui peut être configuré en tant que serveur relais DHCP pour faciliter la gestion des configurations d'hôtes dynamiques sur le réseau. Dans cet article, nous allons vous montrer comment configurer Dnsmasq comme serveur relais DHCP. Sujets de contenu : Topologie du réseau Configuration d'adresses IP statiques sur un relais DHCP D sur un serveur DHCP centralisé

Dans la transmission de données sur réseau, les serveurs proxy IP jouent un rôle important, aidant les utilisateurs à masquer leurs véritables adresses IP, à protéger la confidentialité et à améliorer la vitesse d'accès. Dans cet article, nous présenterons le guide des meilleures pratiques sur la façon de créer un serveur proxy IP avec PHP et fournirons des exemples de code spécifiques. Qu'est-ce qu'un serveur proxy IP ? Un serveur proxy IP est un serveur intermédiaire situé entre l'utilisateur et le serveur cible. Il agit comme une station de transfert entre l'utilisateur et le serveur cible, transmettant les demandes et les réponses de l'utilisateur. En utilisant un serveur proxy IP

Que dois-je faire si je ne peux pas accéder au jeu lorsque le serveur Epic est hors ligne ? Ce problème a dû être rencontré par de nombreux amis. Lorsque cette invite apparaît, le jeu authentique ne peut pas être démarré. Ce problème est généralement dû à des interférences du réseau et du logiciel de sécurité. Alors, comment doit-il être résolu ? J'aimerais partager la solution avec vous, j'espère que le didacticiel logiciel d'aujourd'hui pourra vous aider à résoudre le problème. Que faire si le serveur Epic ne peut pas accéder au jeu lorsqu'il est hors ligne : 1. Il peut être interféré par un logiciel de sécurité. Fermez la plateforme de jeu et le logiciel de sécurité, puis redémarrez. 2. La seconde est que le réseau fluctue trop. Essayez de redémarrer le routeur pour voir s'il fonctionne. Si les conditions sont correctes, vous pouvez essayer d'utiliser le réseau mobile 5g pour fonctionner. 3. Alors il y en aura peut-être plus
