:My name isyashar esmaildokht
I am Gnu/Linux Sys/net/sec Admin & Oracle Dba
:my tel 09141100257
( ) : .my resume fa goo gl/oUQopW
: .Linkedin goo gl/Ljb9SF
:website
: .http //unixmen ir
: .http //oraclegeek ir
: .http //webmom ir
:my nick name royafash
5PARTITIONS 10;
) کلیدیپارتیشن ساخت نحوهKey partitioning(
1
2
3
4
5
CREATE TABLE t1 (
id int not null primary key
) ENGINE=InnoDB
PARTITION BY KEY ()
PARTITIONS 10;
های جدول در پارتیشن ساخت نحوه با بال موارد بیشتر درک برایt1وt2:فرمایید توجه زیر در
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
CREATE TABLE t1 (
d date
) ENGINE=InnoDB
PARTITION BY RANGE (YEAR(d))
(
PARTITION P1 VALUES
LESS THAN (1999),
PARTITION P2 VALUES
LESS THAN (2005),
PARTITION P3 VALUES
LESS THAN (2010),
PARTITION P4 VALUES
LESS THAN (MAXVALUE)
)
1
2
3
4
5
6
7
8
9
1
0
1
1
1
REATE TABLE t2 (
d date
) ENGINE=InnoDB
PARTITION BY RANGE (TO_DAYS(d))
(
PARTITION P1 VALUES
LESS THAN (TO_DAYS('1999-01-01')),
PARTITION P2 VALUES
LESS THAN (TO_DAYS('2005-01-01')),
PARTITION P3 VALUES
LESS THAN (TO_DAYS('2010-01-01')),
PARTITION P4 VALUES
LESS THAN (MAXVALUE)
(
32.
CREATE TABLE t1(
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-01-01',
separated DATE NOT NULL DEFAULT '9999-12-31',
job_code INT NOT NULL,
store_id INT NOT NULL
)
PARTITION BY RANGE (store_id) (
PARTITION p0 VALUES LESS THAN (6),
PARTITION p1 VALUES LESS THAN (11),
PARTITION p2 VALUES LESS THAN (16),
PARTITION p3 VALUES LESS THAN (21)
);
دارد؟ تاثیر دستورات اجرای سرعت در چقدر بندیپارتیشن
این برای .داریم اطلعات توجهی قابل مقدار با داده پایگاه یک به نیاز بندیپارتیشن تاثیر بررسی برای
پروژه از منظورMySQL Employees Test Databaseحدودا شامل که۴در رکورد میلیون۶جدول
:کنیدمی مشاهده را داده پایگاه این ساختار زیر در .ایمکرده استفاده است
35.
) جستار بهQuery:فرماییدتوجه آن اجرای زمان و زیر (
1
2
3
4
5
6
7
SELECT COUNT(*) FROM salaries WHERE from_date BETWEEN '1999-01-01' AND
'1999-12-31';
+----------+
| COUNT(*) |
+----------+
| 260957 |
+----------+
1 row in set (1.07 sec)
:بندیپارتیشن از بعد دستور همان و
1
2
3
4
5
6
7
SELECT COUNT(*) FROM salaries WHERE from_date BETWEEN '1999-01-01' AND
'1999-12-31';
+----------+
| COUNT(*) |
+----------+
| 260957 |
+----------+
1 row in set (0.32 sec)
36.
) جستار بهاطلعات حذف سرعت افزایش برای بندیپارتیشن عملکرد مشاهده برایQueryزمان و زیر (
:فرمایید توجه آن اجرای
1
2
DELETE FROM salaries WHERE from_date BETWEEN '1999-01-01' AND '1999-12-
31';
Query OK, 247489 rows affected (10.57 sec)
:بندیپارتیشن از بعد حذف دستور همان و
1
2
ALTER TABLE salaries DROP PARTITION p15;
Query OK, 0 rows affected (1.35 sec)
37.
جدول بندیپارتیشن نحوهsalariesدادهپایگاه درemployees
) هاحقوق جدول بندیپارتیشن دستور زیر درsalaries) ایمحدوده صورت به (RANGEتاریخ اساس بر (
سالfrom_date:فرماییدمی مشاهده
ALTER TABLE salaries
PARTITION BY RANGE (YEAR(from_date))
(
PARTITION p1 VALUES LESS THAN (1985),
PARTITION p2 VALUES LESS THAN (1986),
PARTITION p3 VALUES LESS THAN (1987),
PARTITION p4 VALUES LESS THAN (1988),
PARTITION p5 VALUES LESS THAN (1989),
PARTITION p6 VALUES LESS THAN (1990),
PARTITION p7 VALUES LESS THAN (1991),
PARTITION p8 VALUES LESS THAN (1992),
PARTITION p9 VALUES LESS THAN (1993),
PARTITION p10 VALUES LESS THAN (1994),
PARTITION p11 VALUES LESS THAN (1995),
PARTITION p12 VALUES LESS THAN (1996),
PARTITION p13 VALUES LESS THAN (1997),
PARTITION p14 VALUES LESS THAN (1998),
PARTITION p15 VALUES LESS THAN (1999),
PARTITION p16 VALUES LESS THAN (2000),
PARTITION p17 VALUES LESS THAN (2001),
PARTITION p18 VALUES LESS THAN (2002),
PARTITION p19 VALUES LESS THAN (2003),
PARTITION p20 VALUES LESS THAN
(MAXVALUE)
)
;
39.
خطای با اگر: نکته:Cannot delete or update a parent row a foreign key constraint fails
خارجی کلید زیر دستور با ،شدید مواجهsalaries_ibfk_1:نمایید حذف را
ALTER TABLE salaries DROP FOREIGN KEY salaries_ibfk_1;
: لیست بواسطه بندی پارتیشن