Mysql数据库分区字符串匹配

本文介绍了MySQL数据库的分区功能,旨在解决大数据量时的查询效率问题。详细讲解了RANGE、LIST、HASH、KEY及COLUMNS等分区类型,特别强调了COLUMNS分区在处理varchar类型字段时的应用。通过一个具体例子展示了如何根据varchar字段的首字母进行分区,并提供了创建和检查分区的SQL语句。同时,也提到了分区的限制条件和移除分区的方法。
摘要由CSDN通过智能技术生成

1、简介:
mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,myi就会变的很大,查找数据就会变的很慢,这个时候我们可以利用mysql的分区功能,在物理上将这一张表对应的三个文件,分割成许多个小块,这样呢,我们查找一条数据时,就不用全部查找了,只要知道这条数据在哪一块,然后在那一块找就行了。如果表的数据太大,可能一个磁盘放不下,这个时候,我们可以把数据分配到不同的磁盘里面去。

     表分区,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成。

2、判断mysql是否支持分区:
可以执行以下语句:

    show variables like '%partition%';

    如果没有看到变量 have_partition_engine 的值为 YES 则说明当前mysql的版本就不支持分区。

    mysql从5.1开始支持分区功能。注:执行 SELECT VERSION() 查看数据库版本;

    但是如果你使用mysql的5.6版本,同样会出现empty的结果。这又是怎么回事呢,难道mysql的5.6版本不支持分区了吗? 不是的,5.6依然支持分区,只不过将上面的验证方式抛弃了,改用:

show plugins;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值