分区实践 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 c
xc
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 约束唯一标识数据库表中的每条记录 ...
随机推荐
- R语言boxplot绘图函数
boxplot 用于绘制箱线图,我们都知道boxplot 用于展示一组数据的总体分布,在R语言中,支持两种输入数据的方式 第一种:x , 这个参数指定用于绘制箱线图所用的数据,是一个向量 代码示例: ...
- 使用avahi 的mdns服务发现server
avahi-browse -a 可以查看局域网内所有的mdns服务, avahi-browse -r _xxxxx._tcp
- centos6.5的软件安装,用户管理等
1.软件的安装命令: 第一种:以 软件名.rpm 为结尾的二进制文件,这样的文件的安装 rpm -ivh 软件名.rpm i 是 install v 是校验 h 进度 卸载软件 是 rpm -e 软件 ...
- 3D游戏与计算机图形学中的数学方法-四元数
说实话关于四元数这一节真的是不好懂,因为里面涉及到好多数学知识,单说推出来的公式就有很多.不怕大家笑话,对于四元数的学习我足足花了两天的时间,包括整理出这篇文章.在前面一章我写到了“变换”,这也是总结 ...
- 创建SQL语句_面试
创建一个表:create table if not exists Teachaers(tea_id integer primary key autoincrement,tea_name text,t ...
- Unity+NGUI性能优化方法总结
1 资源分离打包与加载 游戏中会有很多地方使用同一份资源.比如,有些界面会共用同一份字体.同一张图集,有些场景会共用同一张贴图,有些会怪物使用同一个Animator,等等.可以在制作游戏安装包时将这些 ...
- 如何使用matlab中的胞元数组
胞元数组(cell Arry)的基本组分是胞元(cell),每个胞元本身在数组中是平等的,只能以下标区分.胞元可以存放任何类型.任何大小的数组,如任意维数值数组.字符串数组.符号对象等,而且同一个胞元 ...
- NHibernate初学二之简单执行SQL及HQL、Linq
上篇文章简单介绍NHibernate之简单增删改查,本文将会简单介绍有关执行NHibernate的SQL.HQL及存储过程: 一:执行SQL语句实例,运用CreateSQLQuery方法 public ...
- JavaScript------生成Guid方法
转载: http://blog.csdn.net/limm33/article/details/51536529 代码: function newGuid() { var guid = "& ...
- Android ListView圆角
首先来看看ListView 相关基本属性 1.单击列表后,列表的背景变成黑色了. 可通过指定android:cacheColorHint的属性来放变它,将它指定为透明. 使用以下的属性值: a ...