分区实践 A PRIMARY KEY must include all columns in the table's partitioning function
MySQL :: MySQL 8.0 Reference Manual :: 23 Partitioning https://dev.mysql.com/doc/refman/8.0/en/partitioning.html
In MySQL 8.0, partitioning support is provided by the InnoDB and NDB storage engines.
MySQL 8.0 does not currently support partitioning of tables using any storage engine other than InnoDB or NDB, such as MyISAM. An attempt to create a partitioned tables using a storage engine that does not supply native partitioning support fails with ER_CHECK_NOT_IMPLEMENTED.
MySQL 8.0 Community binaries provided by Oracle include partitioning support provided by the InnoDB and NDB storage engines. For information about partitioning support offered in MySQL Enterprise Edition binaries, see Chapter 30, MySQL Enterprise Edition.
If you are compiling MySQL 8.0 from source, configuring the build with InnoDB support is sufficient to produce binaries with partition support for InnoDB tables. For more information, see Section 2.9, “Installing MySQL from Source”.
Nothing further needs to be done to enable partitioning support by InnoDB (for example, no special entries are required in the my.cnf file).
It is not possible to disable partitioning support by the InnoDB storage engine.
MySQL :: MySQL 8.0 Reference Manual :: 23.1 Overview of Partitioning in MySQL https://dev.mysql.com/doc/refman/8.0/en/partitioning-overview.html
【不同的分区,按照不同的表存储】
Partitioning takes this notion a step further, by enabling you to distribute portions of individual tables across a file system according to rules which you can set largely as needed. In effect, different portions of a table are stored as separate tables in different locations. The user-selected rule by which the division of data is accomplished is known as a partitioning function, which in MySQL can be the modulus, simple matching against a set of ranges or value lists, an internal hashing function, or a linear hashing function. The function is selected according to the partitioning type specified by the user, and takes as its parameter the value of a user-supplied expression. This expression can be a column value, a function acting on one or more column values, or a set of one or more column values, depending on the type of partitioning that is used.
【分区类型 】
可以隐式按照日期分区
MySQL :: MySQL 8.0 Reference Manual :: 23.2 Partitioning Types https://dev.mysql.com/doc/refman/8.0/en/partitioning-types.html
A very common use of database partitioning is to segregate data by date. Some database systems support explicit date partitioning, which MySQL does not implement in 8.0. However, it is not difficult in MySQL to create partitioning schemes based on DATE, TIME, or DATETIME columns, or based on expressions making use of such columns.
When partitioning by KEY or LINEAR KEY, you can use a DATE, TIME, or DATETIME column as the partitioning column without performing any modification of the column value. For example, this table creation statement is perfectly valid in MySQL:
CREATE TABLE members (
firstname VARCHAR(25) NOT NULL,
lastname VARCHAR(25) NOT NULL,
username VARCHAR(16) NOT NULL,
email VARCHAR(35),
joined DATE NOT NULL
)
PARTITION BY KEY(joined)
PARTITIONS 6;
In MySQL 8.0, it is also possible to use a DATE or DATETIME column as the partitioning column using RANGE COLUMNS and LIST COLUMNS partitioning.
A PRIMARY KEY must include all columns in the table's partitioning function
DROP TABLE IF EXISTS page_last_visitor;
受影响的行: 0
时间: 0.056s [SQL]
CREATE TABLE `page_last_visitor` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`uid` int(11) NOT NULL DEFAULT 0 COMMENT '广告主ID',
`address` varchar(1024) NOT NULL DEFAULT '' COMMENT '广告详情页',
`pv` int(11) NOT NULL DEFAULT 0 COMMENT '日浏览总量',
`ip` bigint(20) NOT NULL DEFAULT 0 COMMENT '访客最后访问ip',
`date` int(11) NOT NULL DEFAULT 0 COMMENT '日期',
`modify_time` int(11) NOT NULL DEFAULT 0 COMMENT '最后更新时间',
PRIMARY KEY (`id`),
KEY `uid` (`uid`),
KEY `date` (`date`),
KEY `uid_date` (`uid`,`date`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='广告详情页日访客数据聚合'
PARTITION BY KEY(uid);
[Err] 1503 - A PRIMARY KEY must include all columns in the table's partitioning function
哈希分区
散列分区 键分区区别
MySQL :: MySQL 8.0 Reference Manual :: 23.2.5 KEY Partitioning https://dev.mysql.com/doc/refman/8.0/en/partitioning-key.html
Partitioning by key is similar to partitioning by hash, except that where hash partitioning employs a user-defined expression, the hashing function for key partitioning is supplied by the MySQL server. NDB Cluster uses MD5() for this purpose; for tables using other storage engines, the server employs its own internal hashing function which is based on the same algorithm as PASSWORD().
好的分区的标准
MySQL :: MySQL 8.0 Reference Manual :: 23.2.4 HASH Partitioning https://dev.mysql.com/doc/refman/8.0/en/partitioning-hash.html
By way of contrast, suppose that you have a column named int_col whose type is INT. Now consider the expression POW(5-int_col,3) + 6. This would be a poor choice for a hashing function because a change in the value of int_col is not guaranteed to produce a proportional change in the value of the expression. Changing the value of int_col by a given amount can produce widely differing changes in the value of the expression. For example, changing int_col from 5 to 6 produces a change of -1 in the value of the expression, but changing the value of int_col from 6 to 7 produces a change of -7 in the expression value.
In other words, the more closely the graph of the column value versus the value of the expression follows a straight line as traced by the equation y= where cxc is some nonzero constant, the better the expression is suited to hashing. This has to do with the fact that the more nonlinear an expression is, the more uneven the distribution of data among the partitions it tends to produce.
In theory, pruning is also possible for expressions involving more than one column value, but determining which of such expressions are suitable can be quite difficult and time-consuming. For this reason, the use of hashing expressions involving multiple columns is not particularly recommended.
分区的结果随分区对象显著变化
MySQL :: MySQL 8.0 Reference Manual :: 23.2.4 HASH Partitioning https://dev.mysql.com/doc/refman/8.0/en/partitioning-hash.html
When PARTITION BY HASH is used, the storage engine determines which partition of num partitions to use based on the modulus of the result of the expression. In other words, for a given expression expr, the partition in which the record is stored is partition number N, where . Suppose that table N = MOD(expr, num)t1 is defined as follows, so that it has 4 partitions:
CREATE TABLE t1 (col1 INT, col2 CHAR(5), col3 DATE)
PARTITION BY HASH( YEAR(col3) )
PARTITIONS 4;
If you insert a record into t1 whose col3 value is '2005-09-15', then the partition in which it is stored is determined as follows:
MOD(YEAR('2005-09-01'),4)
= MOD(2005,4)
= 1
MySQL 8.0 also supports a variant of HASH partitioning known as linear hashing which employs a more complex algorithm for determining the placement of new rows inserted into the partitioned table. See Section 23.2.4.1, “LINEAR HASH Partitioning”, for a description of this algorithm.
去除主键
DROP TABLE IF EXISTS page_last_visitor;
受影响的行: 0
时间: 13.318s [SQL]
CREATE TABLE `page_last_visitor` (
`uid` int(11) NOT NULL DEFAULT 0 COMMENT '广告主ID',
`address` varchar(1024) NOT NULL DEFAULT '' COMMENT '广告详情页',
`pv` int(11) NOT NULL DEFAULT 0 COMMENT '日浏览总量',
`ip` bigint(20) NOT NULL DEFAULT 0 COMMENT '访客最后访问ip',
`date` int(11) NOT NULL DEFAULT 0 COMMENT '日期',
`modify_time` int(11) NOT NULL DEFAULT 0 COMMENT '最后更新时间',
KEY `uid` (`uid`),
KEY `date` (`date`),
KEY `uid_date` (`uid`,`date`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='广告详情页日访客数据聚合'
PARTITION BY HASH(uid)
PARTITIONS 8092
;
受影响的行: 0
时间: 62.790s [SQL] DROP TABLE IF EXISTS search_engine_kw;
受影响的行: 0
时间: 0.047s [SQL]
CREATE TABLE `search_engine_kw` (
`uid` int(11) NOT NULL DEFAULT 0 COMMENT '广告主ID',
`keyword` varchar(255) NOT NULL DEFAULT '' COMMENT '访客检索关键字',
`pv` bigint(20) NOT NULL DEFAULT 0 COMMENT '访客浏览总量',
`engine` int(11) NOT NULL DEFAULT 0 COMMENT '访客使用的搜索引擎',
`date` int(11) NOT NULL DEFAULT 0 COMMENT '日期',
`modify_time` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '最后更新时间',
KEY `uid` (`uid`),
KEY `date` (`date`),
KEY `keyword` (`keyword`),
KEY `uid_date` (`uid`,`date`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='通过搜索引擎搜索关键字进入"广告详情页日访客数据聚合"'
PARTITION BY HASH(uid)
PARTITIONS 8092
;
受影响的行: 0
时间: 66.736s
[root@d ~]# cat /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
datadir=/data/mysql/datadir
socket=/var/lib/mysql/mysql.sock
log-error=/data/mysql/log-error/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@d ~]#
执行建库-表前
[root@d mongoexport]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 23G 15G 61% /
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 498M 16G 4% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/vdb 1.1T 893G 136G 87% /data
tmpfs 3.2G 0 3.2G 0% /run/user/0
[root@d mongoexport]#
ceate database ad_detail_page;
然后执行上述2个建表DML;
建第一张表后
[root@d ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 23G 15G 61% /
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 497M 16G 4% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/vdb 1.1T 898G 131G 88% /data
tmpfs 3.2G 0 3.2G 0% /run/user/0
[root@d ~]# du --max-depth=2 -h /data/mysql
8.0K /data/mysql/log-error
1.3G /data/mysql/datadir/ad_detail_page
1.4M /data/mysql/datadir/performance_schema
32K /data/mysql/datadir/mysql
84K /data/mysql/datadir/sys
164K /data/mysql/datadir/#innodb_temp
1.5G /data/mysql/datadir
1.5G /data/mysql
[root@d ~]# ll -as /data/mysql/datadir/
total 228904
4 drwxr-xr-x 7 mysql mysql 4096 Dec 21 17:43 .
4 drwxr-xr-x 4 mysql mysql 4096 Dec 21 17:15 ..
460 drwxr-x--- 2 mysql mysql 471040 Dec 21 17:57 ad_detail_page
4 -rw-r----- 1 mysql mysql 56 Dec 21 17:30 auto.cnf
4 -rw-r----- 1 mysql mysql 1487 Dec 21 17:57 binlog.000001
4 -rw-r----- 1 mysql mysql 16 Dec 21 17:31 binlog.index
4 -rw------- 1 mysql mysql 1680 Dec 21 17:30 ca-key.pem
4 -rw-r--r-- 1 mysql mysql 1112 Dec 21 17:30 ca.pem
4 -rw-r--r-- 1 mysql mysql 1112 Dec 21 17:30 client-cert.pem
4 -rw------- 1 mysql mysql 1680 Dec 21 17:30 client-key.pem
8 -rw-r----- 1 mysql mysql 5751 Dec 21 17:31 ib_buffer_pool
12288 -rw-r----- 1 mysql mysql 12582912 Dec 21 17:58 ibdata1
49156 -rw-r----- 1 mysql mysql 50331648 Dec 21 17:58 ib_logfile0
49156 -rw-r----- 1 mysql mysql 50331648 Dec 21 17:57 ib_logfile1
12288 -rw-r----- 1 mysql mysql 12582912 Dec 21 17:31 ibtmp1
4 drwxr-x--- 2 mysql mysql 4096 Dec 21 17:31 #innodb_temp
4 drwxr-x--- 2 mysql mysql 4096 Dec 21 17:31 mysql
77828 -rw-r----- 1 mysql mysql 79691776 Dec 21 17:58 mysql.ibd
4 drwxr-x--- 2 mysql mysql 4096 Dec 21 17:30 performance_schema
4 -rw------- 1 mysql mysql 1676 Dec 21 17:31 private_key.pem
4 -rw-r--r-- 1 mysql mysql 452 Dec 21 17:31 public_key.pem
4 -rw-r--r-- 1 mysql mysql 1112 Dec 21 17:30 server-cert.pem
4 -rw------- 1 mysql mysql 1680 Dec 21 17:30 server-key.pem
4 drwxr-x--- 2 mysql mysql 4096 Dec 21 17:31 sys
17412 -rw-r----- 1 mysql mysql 17825792 Dec 21 17:58 undo_001
10240 -rw-r----- 1 mysql mysql 10485760 Dec 21 17:58 undo_002
[root@d ~]# ll -ash /data/mysql/datadir/
total 224M
4.0K drwxr-xr-x 7 mysql mysql 4.0K Dec 21 17:43 .
4.0K drwxr-xr-x 4 mysql mysql 4.0K Dec 21 17:15 ..
460K drwxr-x--- 2 mysql mysql 460K Dec 21 17:57 ad_detail_page
4.0K -rw-r----- 1 mysql mysql 56 Dec 21 17:30 auto.cnf
4.0K -rw-r----- 1 mysql mysql 1.5K Dec 21 17:57 binlog.000001
4.0K -rw-r----- 1 mysql mysql 16 Dec 21 17:31 binlog.index
4.0K -rw------- 1 mysql mysql 1.7K Dec 21 17:30 ca-key.pem
4.0K -rw-r--r-- 1 mysql mysql 1.1K Dec 21 17:30 ca.pem
4.0K -rw-r--r-- 1 mysql mysql 1.1K Dec 21 17:30 client-cert.pem
4.0K -rw------- 1 mysql mysql 1.7K Dec 21 17:30 client-key.pem
8.0K -rw-r----- 1 mysql mysql 5.7K Dec 21 17:31 ib_buffer_pool
12M -rw-r----- 1 mysql mysql 12M Dec 21 17:58 ibdata1
49M -rw-r----- 1 mysql mysql 48M Dec 21 17:58 ib_logfile0
49M -rw-r----- 1 mysql mysql 48M Dec 21 17:57 ib_logfile1
12M -rw-r----- 1 mysql mysql 12M Dec 21 17:31 ibtmp1
4.0K drwxr-x--- 2 mysql mysql 4.0K Dec 21 17:31 #innodb_temp
4.0K drwxr-x--- 2 mysql mysql 4.0K Dec 21 17:31 mysql
77M -rw-r----- 1 mysql mysql 76M Dec 21 17:58 mysql.ibd
4.0K drwxr-x--- 2 mysql mysql 4.0K Dec 21 17:30 performance_schema
4.0K -rw------- 1 mysql mysql 1.7K Dec 21 17:31 private_key.pem
4.0K -rw-r--r-- 1 mysql mysql 452 Dec 21 17:31 public_key.pem
4.0K -rw-r--r-- 1 mysql mysql 1.1K Dec 21 17:30 server-cert.pem
4.0K -rw------- 1 mysql mysql 1.7K Dec 21 17:30 server-key.pem
4.0K drwxr-x--- 2 mysql mysql 4.0K Dec 21 17:31 sys
18M -rw-r----- 1 mysql mysql 17M Dec 21 17:58 undo_001
10M -rw-r----- 1 mysql mysql 10M Dec 21 17:58 undo_002
[root@d ~]# du --max-depth=1 -h /data/mysql/datadir/
1.3G /data/mysql/datadir/ad_detail_page
1.4M /data/mysql/datadir/performance_schema
32K /data/mysql/datadir/mysql
84K /data/mysql/datadir/sys
164K /data/mysql/datadir/#innodb_temp
1.5G /data/mysql/datadir/
[root@d ~]#
[root@d ~]# ll -as /data/mysql/datadir/ad_detail_page/ > tail
[root@d ~]# tail tail
164 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p992.ibd
164 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p993.ibd
164 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p994.ibd
164 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p995.ibd
160 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p996.ibd
160 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p997.ibd
160 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p998.ibd
160 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p999.ibd
160 -rw-r----- 1 mysql mysql 163840 Dec 21 17:44 page_last_visitor#P#p99.ibd
160 -rw-r----- 1 mysql mysql 163840 Dec 21 17:44 page_last_visitor#P#p9.ibd
[root@d ~]# head tail
total 1308640
460 drwxr-x--- 2 mysql mysql 471040 Dec 21 17:57 .
4 drwxr-xr-x 7 mysql mysql 4096 Dec 21 17:43 ..
532 -rw-r----- 1 mysql mysql 540672 Dec 21 17:58 page_last_visitor#P#p0.ibd
164 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p1000.ibd
160 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p1001.ibd
160 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p1002.ibd
160 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p1003.ibd
160 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p1004.ibd
160 -rw-r----- 1 mysql mysql 163840 Dec 21 17:46 page_last_visitor#P#p1005.ibd
[root@d ~]#
检查进程
mysql> show processlist;
+----+-----------------+-----------+------+---------+-------+------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-----------------+-----------+------+---------+-------+------------------------+------------------+
| 4 | event_scheduler | localhost | NULL | Daemon | 52805 | Waiting on empty queue | NULL |
| 11 | root | localhost | NULL | Query | 0 | starting | show processlist |
+----+-----------------+-----------+------+---------+-------+------------------------+------------------+
2 rows in set (0.00 sec)
建第二张表
mysql> show processlist;
+----+-----------------+-----------+----------------+---------+-------+------------------------+------------------------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-----------------+-----------+----------------+---------+-------+------------------------+------------------------------------------------------------------------------------------------------+
| 4 | event_scheduler | localhost | NULL | Daemon | 53060 | Waiting on empty queue | NULL |
| 11 | root | localhost | ad_detail_page | Query | 84 | creating table | CREATE TABLE `search_engine_kw` (
`uid` int(11) NOT NULL DEFAULT 0 COMMENT '广告主ID',
`keywo |
| 12 | root | localhost | NULL | Query | 0 | starting | show processlist |
+----+-----------------+-----------+----------------+---------+-------+------------------------+------------------------------------------------------------------------------------------------------+
3 rows in set (0.00 sec)
mysql> show processlist;
+----+-----------------+-----------+------+---------+--------+------------------ ------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-----------------+-----------+------+---------+--------+------------------ ------+------------------+
| 4 | event_scheduler | localhost | NULL | Daemon | 103817 | Waiting on empty queue | NULL |
| 13 | root | localhost | NULL | Query | 0 | starting | show processlist |
+----+-----------------+-----------+------+---------+--------+------------------ ------+------------------+
2 rows in set (0.00 sec)
mysql> show processlist;
+----+-----------------+-----------+------+---------+--------+------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-----------------+-----------+------+---------+--------+------------------------+------------------+
| 4 | event_scheduler | localhost | NULL | Daemon | 103827 | Waiting on empty queue | NULL |
| 13 | root | localhost | NULL | Query | 0 | starting | show processlist |
+----+-----------------+-----------+------+---------+--------+------------------------+------------------+
2 rows in set (0.00 sec)
mysql> use ad_detail_page;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+--------------------------+
| Tables_in_ad_detail_page |
+--------------------------+
| page_last_visitor |
| search_engine_kw |
+--------------------------+
2 rows in set (0.02 sec)
[root@d ~]# du --max-depth=2 -h /data/mysql/
8.0K /data/mysql/log-error
2.7G /data/mysql/datadir/ad_detail_page
1.4M /data/mysql/datadir/performance_schema
32K /data/mysql/datadir/mysql
84K /data/mysql/datadir/sys
228K /data/mysql/datadir/#innodb_temp
3.0G /data/mysql/datadir
3.0G /data/mysql/
[root@d ~]#
mysql> select * FROm page_last_visitor
-> ;
Empty set (41.90 sec)
mysql> select * FROm page_last_visitor;
Empty set (0.36 sec)
mysql> select * FROm page_last_visitor;
Empty set (0.33 sec)
mysql> select * FROm page_last_visitor where uid=2;
Empty set (0.02 sec)
mysql> select * FROm page_last_visitor where uid=24;
Empty set (0.05 sec)
执行以上sql时,cpu 内存 空余超过50%;数据库为建表后,无其他写操作;
改变分区数
删表
DROP TABLE IF EXISTS page_last_visitor;
| 18 | root | localhost | ad_detail_page | Query | 282 | checking permissions | DROP TABLE IF EXISTS page_last_visitor |
检查权限
mysql权限 字段,到分区级别了么?
PARTITIONS 128
降低分区数为128后
[root@d ~]# du --max-depth=2 -h /data/mysql/
8.0K /data/mysql/log-error
44M /data/mysql/datadir/ad_detail_page
1.4M /data/mysql/datadir/performance_schema
32K /data/mysql/datadir/mysql
84K /data/mysql/datadir/sys
228K /data/mysql/datadir/#innodb_temp
326M /data/mysql/datadir
326M /data/mysql/
[root@d ~]# du --max-depth=2 -h /data/mysql/datadir/
44M /data/mysql/datadir/ad_detail_page
1.4M /data/mysql/datadir/performance_schema
32K /data/mysql/datadir/mysql
84K /data/mysql/datadir/sys
228K /data/mysql/datadir/#innodb_temp
326M /data/mysql/datadir/
[root@d ~]# du --max-depth=2 -h /data/mysql/datadir/ad_detail_page/
44M /data/mysql/datadir/ad_detail_page/
[root@d ~]#
[root@d ~]# tree /data/mysql/datadir/ad_detail_page/
/data/mysql/datadir/ad_detail_page/
├── page_last_visitor#P#p0.ibd
├── page_last_visitor#P#p100.ibd
├── page_last_visitor#P#p101.ibd
├── page_last_visitor#P#p102.ibd
├── page_last_visitor#P#p103.ibd
├── page_last_visitor#P#p104.ibd
├── page_last_visitor#P#p105.ibd
├── page_last_visitor#P#p106.ibd
├── page_last_visitor#P#p107.ibd
├── page_last_visitor#P#p108.ibd
├── page_last_visitor#P#p109.ibd
├── page_last_visitor#P#p10.ibd
├── page_last_visitor#P#p110.ibd
├── page_last_visitor#P#p111.ibd
├── page_last_visitor#P#p112.ibd
├── page_last_visitor#P#p113.ibd
├── page_last_visitor#P#p114.ibd
├── page_last_visitor#P#p115.ibd
├── page_last_visitor#P#p116.ibd
├── page_last_visitor#P#p117.ibd
├── page_last_visitor#P#p118.ibd
├── page_last_visitor#P#p119.ibd
├── page_last_visitor#P#p11.ibd
├── page_last_visitor#P#p120.ibd
├── page_last_visitor#P#p121.ibd
├── page_last_visitor#P#p122.ibd
├── page_last_visitor#P#p123.ibd
├── page_last_visitor#P#p124.ibd
├── page_last_visitor#P#p125.ibd
├── page_last_visitor#P#p126.ibd
├── page_last_visitor#P#p127.ibd
├── page_last_visitor#P#p12.ibd
├── page_last_visitor#P#p13.ibd
├── page_last_visitor#P#p14.ibd
├── page_last_visitor#P#p15.ibd
├── page_last_visitor#P#p16.ibd
├── page_last_visitor#P#p17.ibd
├── page_last_visitor#P#p18.ibd
├── page_last_visitor#P#p19.ibd
├── page_last_visitor#P#p1.ibd
├── page_last_visitor#P#p20.ibd
├── page_last_visitor#P#p21.ibd
├── page_last_visitor#P#p22.ibd
├── page_last_visitor#P#p23.ibd
├── page_last_visitor#P#p24.ibd
├── page_last_visitor#P#p25.ibd
├── page_last_visitor#P#p26.ibd
├── page_last_visitor#P#p27.ibd
├── page_last_visitor#P#p28.ibd
├── page_last_visitor#P#p29.ibd
├── page_last_visitor#P#p2.ibd
├── page_last_visitor#P#p30.ibd
├── page_last_visitor#P#p31.ibd
├── page_last_visitor#P#p32.ibd
├── page_last_visitor#P#p33.ibd
├── page_last_visitor#P#p34.ibd
├── page_last_visitor#P#p35.ibd
├── page_last_visitor#P#p36.ibd
├── page_last_visitor#P#p37.ibd
├── page_last_visitor#P#p38.ibd
├── page_last_visitor#P#p39.ibd
├── page_last_visitor#P#p3.ibd
├── page_last_visitor#P#p40.ibd
├── page_last_visitor#P#p41.ibd
├── page_last_visitor#P#p42.ibd
├── page_last_visitor#P#p43.ibd
├── page_last_visitor#P#p44.ibd
├── page_last_visitor#P#p45.ibd
├── page_last_visitor#P#p46.ibd
├── page_last_visitor#P#p47.ibd
├── page_last_visitor#P#p48.ibd
├── page_last_visitor#P#p49.ibd
├── page_last_visitor#P#p4.ibd
├── page_last_visitor#P#p50.ibd
├── page_last_visitor#P#p51.ibd
├── page_last_visitor#P#p52.ibd
├── page_last_visitor#P#p53.ibd
├── page_last_visitor#P#p54.ibd
├── page_last_visitor#P#p55.ibd
├── page_last_visitor#P#p56.ibd
├── page_last_visitor#P#p57.ibd
├── page_last_visitor#P#p58.ibd
├── page_last_visitor#P#p59.ibd
├── page_last_visitor#P#p5.ibd
├── page_last_visitor#P#p60.ibd
├── page_last_visitor#P#p61.ibd
├── page_last_visitor#P#p62.ibd
├── page_last_visitor#P#p63.ibd
├── page_last_visitor#P#p64.ibd
├── page_last_visitor#P#p65.ibd
├── page_last_visitor#P#p66.ibd
├── page_last_visitor#P#p67.ibd
├── page_last_visitor#P#p68.ibd
├── page_last_visitor#P#p69.ibd
├── page_last_visitor#P#p6.ibd
├── page_last_visitor#P#p70.ibd
├── page_last_visitor#P#p71.ibd
├── page_last_visitor#P#p72.ibd
├── page_last_visitor#P#p73.ibd
├── page_last_visitor#P#p74.ibd
├── page_last_visitor#P#p75.ibd
├── page_last_visitor#P#p76.ibd
├── page_last_visitor#P#p77.ibd
├── page_last_visitor#P#p78.ibd
├── page_last_visitor#P#p79.ibd
├── page_last_visitor#P#p7.ibd
├── page_last_visitor#P#p80.ibd
├── page_last_visitor#P#p81.ibd
├── page_last_visitor#P#p82.ibd
├── page_last_visitor#P#p83.ibd
├── page_last_visitor#P#p84.ibd
├── page_last_visitor#P#p85.ibd
├── page_last_visitor#P#p86.ibd
├── page_last_visitor#P#p87.ibd
├── page_last_visitor#P#p88.ibd
├── page_last_visitor#P#p89.ibd
├── page_last_visitor#P#p8.ibd
├── page_last_visitor#P#p90.ibd
├── page_last_visitor#P#p91.ibd
├── page_last_visitor#P#p92.ibd
├── page_last_visitor#P#p93.ibd
├── page_last_visitor#P#p94.ibd
├── page_last_visitor#P#p95.ibd
├── page_last_visitor#P#p96.ibd
├── page_last_visitor#P#p97.ibd
├── page_last_visitor#P#p98.ibd
├── page_last_visitor#P#p99.ibd
├── page_last_visitor#P#p9.ibd
├── search_engine_kw#P#p0.ibd
├── search_engine_kw#P#p100.ibd
├── search_engine_kw#P#p101.ibd
├── search_engine_kw#P#p102.ibd
├── search_engine_kw#P#p103.ibd
├── search_engine_kw#P#p104.ibd
├── search_engine_kw#P#p105.ibd
├── search_engine_kw#P#p106.ibd
├── search_engine_kw#P#p107.ibd
├── search_engine_kw#P#p108.ibd
├── search_engine_kw#P#p109.ibd
├── search_engine_kw#P#p10.ibd
├── search_engine_kw#P#p110.ibd
├── search_engine_kw#P#p111.ibd
├── search_engine_kw#P#p112.ibd
├── search_engine_kw#P#p113.ibd
├── search_engine_kw#P#p114.ibd
├── search_engine_kw#P#p115.ibd
├── search_engine_kw#P#p116.ibd
├── search_engine_kw#P#p117.ibd
├── search_engine_kw#P#p118.ibd
├── search_engine_kw#P#p119.ibd
├── search_engine_kw#P#p11.ibd
├── search_engine_kw#P#p120.ibd
├── search_engine_kw#P#p121.ibd
├── search_engine_kw#P#p122.ibd
├── search_engine_kw#P#p123.ibd
├── search_engine_kw#P#p124.ibd
├── search_engine_kw#P#p125.ibd
├── search_engine_kw#P#p126.ibd
├── search_engine_kw#P#p127.ibd
├── search_engine_kw#P#p12.ibd
├── search_engine_kw#P#p13.ibd
├── search_engine_kw#P#p14.ibd
├── search_engine_kw#P#p15.ibd
├── search_engine_kw#P#p16.ibd
├── search_engine_kw#P#p17.ibd
├── search_engine_kw#P#p18.ibd
├── search_engine_kw#P#p19.ibd
├── search_engine_kw#P#p1.ibd
├── search_engine_kw#P#p20.ibd
├── search_engine_kw#P#p21.ibd
├── search_engine_kw#P#p22.ibd
├── search_engine_kw#P#p23.ibd
├── search_engine_kw#P#p24.ibd
├── search_engine_kw#P#p25.ibd
├── search_engine_kw#P#p26.ibd
├── search_engine_kw#P#p27.ibd
├── search_engine_kw#P#p28.ibd
├── search_engine_kw#P#p29.ibd
├── search_engine_kw#P#p2.ibd
├── search_engine_kw#P#p30.ibd
├── search_engine_kw#P#p31.ibd
├── search_engine_kw#P#p32.ibd
├── search_engine_kw#P#p33.ibd
├── search_engine_kw#P#p34.ibd
├── search_engine_kw#P#p35.ibd
├── search_engine_kw#P#p36.ibd
├── search_engine_kw#P#p37.ibd
├── search_engine_kw#P#p38.ibd
├── search_engine_kw#P#p39.ibd
├── search_engine_kw#P#p3.ibd
├── search_engine_kw#P#p40.ibd
├── search_engine_kw#P#p41.ibd
├── search_engine_kw#P#p42.ibd
├── search_engine_kw#P#p43.ibd
├── search_engine_kw#P#p44.ibd
├── search_engine_kw#P#p45.ibd
├── search_engine_kw#P#p46.ibd
├── search_engine_kw#P#p47.ibd
├── search_engine_kw#P#p48.ibd
├── search_engine_kw#P#p49.ibd
├── search_engine_kw#P#p4.ibd
├── search_engine_kw#P#p50.ibd
├── search_engine_kw#P#p51.ibd
├── search_engine_kw#P#p52.ibd
├── search_engine_kw#P#p53.ibd
├── search_engine_kw#P#p54.ibd
├── search_engine_kw#P#p55.ibd
├── search_engine_kw#P#p56.ibd
├── search_engine_kw#P#p57.ibd
├── search_engine_kw#P#p58.ibd
├── search_engine_kw#P#p59.ibd
├── search_engine_kw#P#p5.ibd
├── search_engine_kw#P#p60.ibd
├── search_engine_kw#P#p61.ibd
├── search_engine_kw#P#p62.ibd
├── search_engine_kw#P#p63.ibd
├── search_engine_kw#P#p64.ibd
├── search_engine_kw#P#p65.ibd
├── search_engine_kw#P#p66.ibd
├── search_engine_kw#P#p67.ibd
├── search_engine_kw#P#p68.ibd
├── search_engine_kw#P#p69.ibd
├── search_engine_kw#P#p6.ibd
├── search_engine_kw#P#p70.ibd
├── search_engine_kw#P#p71.ibd
├── search_engine_kw#P#p72.ibd
├── search_engine_kw#P#p73.ibd
├── search_engine_kw#P#p74.ibd
├── search_engine_kw#P#p75.ibd
├── search_engine_kw#P#p76.ibd
├── search_engine_kw#P#p77.ibd
├── search_engine_kw#P#p78.ibd
├── search_engine_kw#P#p79.ibd
├── search_engine_kw#P#p7.ibd
├── search_engine_kw#P#p80.ibd
├── search_engine_kw#P#p81.ibd
├── search_engine_kw#P#p82.ibd
├── search_engine_kw#P#p83.ibd
├── search_engine_kw#P#p84.ibd
├── search_engine_kw#P#p85.ibd
├── search_engine_kw#P#p86.ibd
├── search_engine_kw#P#p87.ibd
├── search_engine_kw#P#p88.ibd
├── search_engine_kw#P#p89.ibd
├── search_engine_kw#P#p8.ibd
├── search_engine_kw#P#p90.ibd
├── search_engine_kw#P#p91.ibd
├── search_engine_kw#P#p92.ibd
├── search_engine_kw#P#p93.ibd
├── search_engine_kw#P#p94.ibd
├── search_engine_kw#P#p95.ibd
├── search_engine_kw#P#p96.ibd
├── search_engine_kw#P#p97.ibd
├── search_engine_kw#P#p98.ibd
├── search_engine_kw#P#p99.ibd
└── search_engine_kw#P#p9.ibd
0 directories, 256 files
[root@d ~]#
分区实践 A PRIMARY KEY must include all columns in the table's partitioning function的更多相关文章
- 1503 - A PRIMARY KEY must include all columns in the table's partitioning function
1503 - A PRIMARY KEY must include all columns in the table's partitioning function 错误的原因:表的主键字段必须包含分 ...
- SQL PRIMARY KEY 约束\SQL FOREIGN KEY 约束\SQL CHECK 约束
SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主 ...
- sql primary key 约束
PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主键. SQL PRIMARY KEY ...
- 【原创】大数据基础之Kudu(3)primary key
关于kudu的primary key The primary key may not be changed after the table is created. You must drop and ...
- SQL PRIMARY KEY,SQL FOREIGN KEY
A primary key is defined as a column or a group of column that their value are always be unique. Nor ...
- 主键约束 primary key
主键的作用: 可以唯一标识 一条数据,每张表里面只能有一个主键,.主键特性: 非空且唯一.当表里没有主键的时,第一个出现的非空且为唯一的列,被当成主键. 例子:create table tb3( ...
- ORA-02273: this unique/primary key is referenced by some foreign keys
关于ORA-02273错误,以前还真没有仔细留意过.昨天遇到了这个问题,遂顺便总结一番,以后遇到这类问题就可以直接用下面方案解决.如下所示,我们首先准备一下测试环境. CREATE TABLE TES ...
- FOREIGN KEY 外键约束; UNIQUE和PRIMARY KEY 主键约束、CREATE INDEX建立索引的使用
1)foreign key 是个约束,意思是说如果你给A字段设置了外键约束,以后你要往A字段插入数据,这个数据一定是要在foreign key 后面跟的那个字段中存在的值.这个的意义就是约束了数据的完 ...
- SQL-W3School-高级:SQL PRIMARY KEY 约束
ylbtech-SQL-W3School-高级:SQL PRIMARY KEY 约束 1.返回顶部 1. SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录 ...
随机推荐
- Sublime Text 3安装清爽主题(著名的Soda Theme)
Sublime Text是一款强大的编辑器,不但拥有众多强大的功能,还拥有很多漂亮的主题以及大量的插件可供配置使用. 本文主要描述Sublime Text 3安装清爽的主题,默认的深色主题Monoka ...
- opengl 模板测试 glStencilOp glStencilFunc
下面来设置蒙板缓存和蒙板测试. 首先我们启用蒙板测试,这样就可以修改蒙板缓存中的值. 下面我们来解释蒙板测试函数的含义: 当你使用glEnable(GL_STENCIL_TEST)启用蒙板测试之后,蒙 ...
- u3d调用c++ dll的DllNotFoundExceion 问题
原文地址:http://blog.csdn.net/boren31/article/details/8778504 问题年年有,今年特别多. 开发环境: Windows XP sp3 Visual ...
- 【Raspberry Pi】openwrt 路由
http://blog.sina.com.cn/s/blog_40983e5e0102v6qt.html
- gradle教程 [原创](eclipse/ADT下 非插件 非Android Studio/AS)纯手打 第三篇:gradle完整的实战
上两篇的地址 安装配置 http://www.cnblogs.com/uncle2000/p/4276833.html 简单实战 http://www.cnblogs.com/uncle2000/p/ ...
- ScSR超分辨率的效果
- C#操作缓存--CacheHelper缓存帮助类
/// <summary>/// 类说明:Assistant/// 联系方式:361983679 /// 更新网站:<a href=\"http://www.cckan. ...
- linux zip压缩和解压的各种操控
1.把/home文件夹以下的mydata文件夹压缩为mydata.zip zip -r mydata.zip mydata #压缩mydata文件夹 2.把/home文件夹以下的mydata.zip解 ...
- java日志之slf4j与logback简单使用
最近在开发遇到日志是使用slf4j与logback.xml的配置,所以就记录下来了. 1.导入这几个jar包: Logback 分为三个模块:logback-core,logback-classic, ...
- windows命令之PING DIR DEL CD TASKLIST (转)
最简单的莫过于PING命令了. PING命令的功能就是给对方主机发送IP数据包. 一般都是测试主机是否在线. 用法如下: PING 192.168.1.1.PING命令默认发送的是四个数据包,当然也可 ...