{"id":159131,"date":"2012-11-18T14:53:03","date_gmt":"2012-11-18T10:53:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=159131"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=159131","title":{"rendered":"<span class=\"post_title\">Mysql PARTITION BY YEAR(date) \/ MONTH(date) \/ DAYOFWEEK(date)<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0417\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u043c\u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u043c\u0435\u0442\u044c \u0434\u0435\u043b\u043e \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0440\u0435\u0434\u043a\u043e \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u0425\u043e\u0440\u043e\u0448\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0442\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043b\u043e\u0433\u0438. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043e\u0447\u0438\u0449\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0438 \u00ab\u0432\u0435\u0447\u043d\u043e\u00bb. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u00ab\u043f\u0443\u0445\u043d\u0443\u0442\u00bb \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043d\u0438\u043c\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0442\u044f\u0436\u0435\u043b\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u0434\u043b\u044f \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u0434\u0438\u0441\u043a \u0438 \u0424\u0421, \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b\u0438 partitioning, \u043f\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u043c\u0443 \u2014 \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0424\u0430\u0439\u043b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0440\u0430\u0437\u0440\u0435\u0437\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u043a\u0430\u043a\u043e\u043c\u0443-\u0442\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044e \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u2014 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0439. \u0414\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u044f \u0441 \u043b\u043e\u0433\u0430\u043c\u0438 \u0440\u0430\u0437\u0443\u043c\u043d\u043e \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e \u043f\u043e\u043b\u044e, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u043c\u0443 \u0434\u0430\u0442\u044b \u0441\u043e\u0431\u044b\u0442\u0438\u044f. \u0427\u0430\u0441\u0442\u043e \u0431\u044b\u0432\u0430\u0435\u0442 \u0440\u0430\u0437\u0443\u043c\u043d\u043e \u0440\u0435\u0437\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0430 partition \u043f\u043e \u0433\u043e\u0434\u0443 \u043f\u043e \u043c\u0435\u0441\u044f\u0446\u0443 \u0438\u043b\u0438 \u043f\u043e \u0434\u043d\u044f\u043c \u043c\u0435\u0441\u044f\u0446\u0430\/\u043d\u0435\u0434\u0435\u043b\u0438.<\/p>\n<p>  \u0427\u0442\u043e-\u0442\u043e \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0447\u0442\u043e \u0440\u0435\u0437\u0430\u0442\u044c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u043e \u043f\u043e\u043b\u044e timestamp. <br \/>  <a name=\"habracut\"><\/a><\/p>\n<p>  \u0421\u0434\u0435\u043b\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0443:  <\/p>\n<pre><code class=\"sql\">CREATE TABLE `foo` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `date_added` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,   `name` varchar(30) DEFAULT NULL,   `email` varchar(30) DEFAULT NULL,   PRIMARY KEY (`id`) ); <\/code><\/pre>\n<p>  \u041d\u043e \u043a\u0430\u043a \u0431\u044b\u0442\u044c \u0435\u0441\u043b\u0438 \u043d\u0430\u0434\u043e \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u043b\u043e\u0433\u0430\u043c\u0438 \u0440\u0430\u0437\u043b\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u0434\u043d\u044f\u043c \u043c\u0435\u0441\u044f\u0446\u0430? \u0422\u043e \u0435\u0441\u0442\u044c \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0447\u0442\u043e-\u0442\u043e, \u0447\u0442\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043c\u0435\u0441\u044f\u0446 \u0438\u043b\u0438 \u0434\u0432\u0430, \u0430 \u043f\u043e\u0442\u043e\u043c \u0443\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f. \u041a\u0430\u043a \u0431\u044b\u0442\u044c \u0435\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u0440\u0435\u0437\u0430\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code class=\"sql\"> ALTER TABLE foo PARTITION BY RANGE (YEAR(date_added)) (  PARTITION p2011 VALUES LESS THAN (2012) ,  PARTITION p2012 VALUES LESS THAN (2013) ,  PARTITION p2013 VALUES LESS THAN (2014)  ); <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c:  <\/p>\n<pre><code class=\"sql\">ERROR 1486 (HY000): Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed <\/code><\/pre>\n<p>  \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0442 \u043a\u0430\u043a\u043e\u0435: \u00abTIMESTAMP is internally converted to the local sessions timezone.\u00bb<\/p>\n<p>  \u041b\u0430\u0434\u043d\u043e:  <\/p>\n<pre><code class=\"sql\">SELECT UNIX_TIMESTAMP('2012-01-01 00:00:00'); +---------------------------------------+ | UNIX_TIMESTAMP('2012-01-01 00:00:00') | +---------------------------------------+ |                            1325361600 | +---------------------------------------+   SELECT UNIX_TIMESTAMP('2013-01-01 00:00:00');  +---------------------------------------+ | UNIX_TIMESTAMP('2013-01-01 00:00:00') | +---------------------------------------+ |                            1356984000 | +---------------------------------------+   SELECT UNIX_TIMESTAMP('2014-01-01 00:00:00');  +---------------------------------------+ | UNIX_TIMESTAMP('2014-01-01 00:00:00') | +---------------------------------------+ |                            1388520000 | +---------------------------------------+ <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c:  <\/p>\n<pre><code class=\"sql\"> ALTER TABLE foo PARTITION BY RANGE (UNIX_TIMESTAMP(date_added)) (  PARTITION p2011 VALUES LESS THAN (1325361600) ,  PARTITION p2012 VALUES LESS THAN (1356984000) ,  PARTITION p2013 VALUES LESS THAN (1388520000) ,  PARTITION pMAXVALUE VALUES LESS THAN (MAXVALUE) ); <\/code><\/pre>\n<p>  \u0412\u043e\u0442, \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c:  <\/p>\n<pre><code class=\"sql\">ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table's partitioning function <\/code><\/pre>\n<p>  \u042d\u0442\u043e \u043b\u0435\u0447\u0438\u0442\u0441\u044f:  <\/p>\n<pre><code class=\"sql\">ALTER table foo  DROP PRIMARY KEY, add PRIMARY KEY (`id`,`date_added`), add UNIQUE KEY `id_UNIQUE` (`id`,`date_added`); <\/code><\/pre>\n<p>  \u0418 \u0435\u0449\u0435 \u0440\u0430\u0437:  <\/p>\n<pre><code class=\"sql\"> ALTER TABLE foo PARTITION BY RANGE (UNIX_TIMESTAMP(date_added)) (  PARTITION p2011 VALUES LESS THAN (1325361600) ,  PARTITION p2012 VALUES LESS THAN (1356984000) ,  PARTITION p2013 VALUES LESS THAN (1388520000) ,  PARTITION pMAXVALUE VALUES LESS THAN (MAXVALUE) ); <\/code><\/pre>\n<p>  \u0412\u0441\u0435 \u043e\u043a.<\/p>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c:  <\/p>\n<pre><code class=\"sql\">CREATE TABLE `foo` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `date_added` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,   `name` varchar(30) DEFAULT NULL,   `email` varchar(30) DEFAULT NULL,   PRIMARY KEY (`id`,`date_added`),   UNIQUE KEY `id_UNIQUE` (`id`,`date_added`) ) ENGINE=InnoDB   PARTITION BY RANGE (UNIX_TIMESTAMP(date_added)) (PARTITION p2011 VALUES LESS THAN (1325361600) ENGINE = InnoDB,  PARTITION p2012 VALUES LESS THAN (1356984000) ENGINE = InnoDB,  PARTITION p2013 VALUES LESS THAN (1388520000) ENGINE = InnoDB,  PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ENGINE = InnoDB ); <\/code><\/pre>\n<p>  \u041e\u0442\u043b\u0438\u0447\u043d\u043e! <\/p>\n<p>  \u0422\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u00ab\u043d\u0430\u0440\u0435\u0437\u043a\u0438\u00bb \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0435\u0441\u043b\u0438 \u043d\u0430\u0434\u043e \u0430\u0440\u0445\u0438\u0432\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0440\u0430\u0437\u043b\u043e\u0436\u0438\u0442\u044c \u043f\u043e \u0444\u0430\u0439\u043b\u0430\u043c \u00ab\u0437\u0430 \u0433\u043e\u0434\u00bb \u0438\u043b\u0438 \u043f\u043e \u043c\u0435\u0441\u044f\u0446\u0430\u043c. <br \/>  \u041d\u043e \u043a\u0430\u043a \u0431\u044b\u0442\u044c \u0435\u0441\u043b\u0438 \u043d\u0430\u0434\u043e \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u043b\u043e\u0433\u0430\u043c\u0438 \u0440\u0430\u0437\u043b\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u0434\u043d\u044f\u043c \u043c\u0435\u0441. \u0442\u043e\u0435\u0441\u0442\u044c \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0447\u0442\u043e-\u0442\u043e \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0447\u0442\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043c\u0435\u0441 \u0438\u043b\u0438 \u0434\u0432\u0430 \u043f\u043e\u0442\u043e\u043c \u0442\u0440\u0435\u0442\u0441\u044f. <\/p>\n<p>  \u0422\u043e\u0435\u0441\u0442\u044c \u043a\u0430\u043a \u0431\u044b\u0442\u044c \u0435\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u0440\u0435\u0437\u0430\u0442\u044c \u0442\u0430\u043a: <\/p>\n<pre><code class=\"sql\">\t\tPARTITION BY RANGE (MONTH(date)) <\/code><\/pre>\n<p>  \u0418\u043b\u0438 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"sql\">\t\tPARTITION BY RANGE (DAY(date_add)) <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0435 \u0442\u0438\u043f\u0430 timestamp \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442.<\/p>\n<p>  \u0413\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0447\u0442\u043e \u043d\u0430\u0434\u043e \u044e\u0437\u0430\u0442\u044c datetime \u0438 \u0442\u043e\u0447\u043a\u0430.<\/p>\n<p>  \u043e\u043a, \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443:  <\/p>\n<pre><code class=\"sql\">CREATE TABLE `foo` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `date_added` datetime  DEFAULT NULL,   `name` varchar(30) DEFAULT NULL,   `email` varchar(30) DEFAULT NULL,   PRIMARY KEY (`id`,`date_added`),   UNIQUE KEY `id_UNIQUE` (`id`,`date_added`) ) ENGINE=InnoDB; <\/code><\/pre>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435:   <\/p>\n<pre><code class=\"sql\">\t\t`date_added` datetime  DEFAULT NULL <\/code><\/pre>\n<p>  \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c \u0447\u0442\u043e, CURRENT_TIMESTAMP \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u0435\u0444\u0430\u0443\u043b\u0442\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u043b\u044f \u0442\u0438\u043f\u0430 datetime \u043d\u0435 \u043a\u0430\u0442\u0438\u0442, NOW() \u043a\u0430\u043a \u0434\u0435\u0444\u0430\u0443\u043b\u0442\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f \u0442.\u043a. \u0444\u0443\u043d\u043a\u0446\u0438\u044f. <\/p>\n<p>  \u0410 \u043d\u0430\u0434\u043e \u0447\u0442\u043e\u0431 date_added \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u043e\u0441\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u043c. <\/p>\n<p>  \u0412\u044b\u0445\u043e\u0434\u0430 \u0434\u0432\u0430:<br \/>  1. \u041b\u0438\u0431\u043e \u0432\u043e\u0432 \u0441\u0435\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 \u0432 INSERT \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c NOW(). <br \/>  2. \u041b\u0438\u0431\u043e \u0432\u0435\u0448\u0430\u0442\u044c \u0442\u0440\u0438\u0433\u0433\u0435\u0440 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u043d\u0441\u0435\u0440\u0442\u0435 \u0431\u0443\u0434\u0435\u0442 date_added=NOW();<\/p>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u043a\u043e\u0434\u0430 INSERT \u0434\u0435\u043b\u0430\u044e\u0442\u0441\u044f \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 \u0438 \u0432\u0435\u0437\u0434\u0435 \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 INSERT\u2026 NOW() \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0438\u0433\u0433\u0435\u0440.<\/p>\n<p>  \u0427\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435:   <\/p>\n<pre><code class=\"sql\">DELIMITER $$  USE `test_db`$$  CREATE      TRIGGER `foo_add` BEFORE INSERT ON `foo`      FOR EACH ROW BEGIN        SET NEW.date_added = IFNULL(NEW.date_added, NOW());      END; $$ <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0443 \u043d\u0430\u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0441 \u043d\u0443\u0436\u043d\u044b\u043c\u0438 \u0442\u0438\u043f\u0430\u043c\u0438, \u043a\u043b\u044e\u0447\u0430\u043c\u0438 \u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u043c.<\/p>\n<p>  \u0418 \u043c\u044b \u0441 \u043b\u0435\u0433\u043a\u043e\u0441\u0442\u044c\u044e \u043c\u043e\u0436\u0435\u043c \u0440\u0430\u0437\u0440\u0435\u0437\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043f\u043e \u043c\u0435\u0441\u044f\u0446\u0430\u043c:  <\/p>\n<pre><code class=\"sql\"> ALTER TABLE foo PARTITION BY RANGE (MONTH(date_added)) ( PARTITION p01 VALUES LESS THAN (02) , PARTITION p02 VALUES LESS THAN (03) , PARTITION p03 VALUES LESS THAN (04) , PARTITION p04 VALUES LESS THAN (05) , PARTITION p05 VALUES LESS THAN (06) , PARTITION p06 VALUES LESS THAN (07) , PARTITION p07 VALUES LESS THAN (08) , PARTITION p08 VALUES LESS THAN (09) , PARTITION p09 VALUES LESS THAN (10) , PARTITION p10 VALUES LESS THAN (11) , PARTITION p11 VALUES LESS THAN (12) , PARTITION p12 VALUES LESS THAN (13) , PARTITION pmaxval VALUES LESS THAN MAXVALUE  ); <\/code><\/pre>\n<p>  \u0418\u043b\u0438 \u0434\u0430\u0436\u0435 \u043f\u043e \u0434\u043d\u044f\u043c \u043d\u0435\u0434\u0435\u043b\u0438:  <\/p>\n<pre><code class=\"sql\"> ALTER TABLE foo PARTITION BY RANGE (DAYOFWEEK(date_added)) ( PARTITION p01 VALUES LESS THAN (2) , PARTITION p02 VALUES LESS THAN (3) , PARTITION p03 VALUES LESS THAN (4) , PARTITION p04 VALUES LESS THAN (5) , PARTITION p05 VALUES LESS THAN (6) , PARTITION p06 VALUES LESS THAN (7) , PARTITION p07 VALUES LESS THAN (8) , PARTITION pmaxval VALUES LESS THAN MAXVALUE  ); <\/code><\/pre>\n<p>  \u0418\u043b\u0438 \u0434\u0430\u0436\u0435 2 \u0434\u043d\u044f \u043d\u0430 partition:  <\/p>\n<pre><code class=\"sql\">ALTER TABLE foo PARTITION BY LIST (DAY(date_added)) ( PARTITION p00 VALUES IN  (0,1) , PARTITION p02 VALUES IN  (2,3) , PARTITION p04 VALUES IN  (4,5) , PARTITION p06 VALUES IN  (6,7) , PARTITION p08 VALUES IN  (8,9) , PARTITION p10 VALUES IN  (10,11), PARTITION p12 VALUES IN  (12,13), PARTITION p14 VALUES IN  (14,15), PARTITION p16 VALUES IN  (16,17), PARTITION p18 VALUES IN  (18,19), PARTITION p20 VALUES IN  (20,21), PARTITION p22 VALUES IN  (22,23), PARTITION p24 VALUES IN  (24,25), PARTITION p26 VALUES IN  (26,27), PARTITION p28 VALUES IN  (28,29), PARTITION p30 VALUES IN  (30,31) ); <\/code><\/pre>\n<p>  \u0412 \u043e\u0431\u0449\u0435\u043c \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0441\u0435 \u0432 \u0432\u0430\u0448\u0438\u0445 \u0440\u0443\u043a\u0430\u0445. \t\t\t \t\t\t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/159131\/\"> http:\/\/habrahabr.ru\/post\/159131\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0417\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u043c\u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u043c\u0435\u0442\u044c \u0434\u0435\u043b\u043e \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0440\u0435\u0434\u043a\u043e \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u0425\u043e\u0440\u043e\u0448\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0442\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043b\u043e\u0433\u0438. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043e\u0447\u0438\u0449\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0438 \u00ab\u0432\u0435\u0447\u043d\u043e\u00bb. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u00ab\u043f\u0443\u0445\u043d\u0443\u0442\u00bb \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043d\u0438\u043c\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0442\u044f\u0436\u0435\u043b\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u0434\u043b\u044f \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u0434\u0438\u0441\u043a \u0438 \u0424\u0421, \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b\u0438 partitioning, \u043f\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u043c\u0443 \u2014 \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0424\u0430\u0439\u043b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0440\u0430\u0437\u0440\u0435\u0437\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u043a\u0430\u043a\u043e\u043c\u0443-\u0442\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044e \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u2014 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0439. \u0414\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u044f \u0441 \u043b\u043e\u0433\u0430\u043c\u0438 \u0440\u0430\u0437\u0443\u043c\u043d\u043e \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e \u043f\u043e\u043b\u044e, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u043c\u0443 \u0434\u0430\u0442\u044b \u0441\u043e\u0431\u044b\u0442\u0438\u044f. \u0427\u0430\u0441\u0442\u043e \u0431\u044b\u0432\u0430\u0435\u0442 \u0440\u0430\u0437\u0443\u043c\u043d\u043e \u0440\u0435\u0437\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0430 partition \u043f\u043e \u0433\u043e\u0434\u0443 \u043f\u043e \u043c\u0435\u0441\u044f\u0446\u0443 \u0438\u043b\u0438 \u043f\u043e \u0434\u043d\u044f\u043c \u043c\u0435\u0441\u044f\u0446\u0430\/\u043d\u0435\u0434\u0435\u043b\u0438.<\/p>\n<p>  \u0427\u0442\u043e-\u0442\u043e \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0447\u0442\u043e \u0440\u0435\u0437\u0430\u0442\u044c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u043e \u043f\u043e\u043b\u044e timestamp.   <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-159131","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/159131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=159131"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/159131\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=159131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=159131"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=159131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}