MySQL ORDER BY, LIMIT рдФрд░ DISTINCT рдХреЛ рдХреИрд╕реЗ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИ

рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣реИрдВ, рдЬреЛ рд╕рдВрдмрдВрдзрдкрд░рдХ рдбреАрдмреАрдПрдордПрд╕ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░, рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмреИрд╕рд╛рдЦреА рдХреЗ рдкреВрд░реЗ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ рдЖрдк рдмрд╛рдж рдореЗрдВ рдЧрд░реНрд╡ рд╕реЗ "рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░" рдХрд╣рддреЗ рд╣реИрдВред рдЗрддрдирд╛ рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдореИрдВ рд╕рд┐рд░реНрдл рдЙрд╕рд╕реЗ рдорд┐рд▓рд╛ рдерд╛ред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдХреБрдЫ рд╕рдВрд╕реНрдерд╛рдПрдБ A рдФрд░ B рд╣реИрдВ, рдЬреЛ рдПрдХ-рд╕реЗ-рдХрдИ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрдкрд╕ рдореЗрдВ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВред рдЗрди рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛рдлреА рдмрдбрд╝реА рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрдХрд╛рдЗрдпрд╛рдБ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЗрдХрд╛рдИ A рдФрд░ рдирд┐рдХрд╛рдп B. рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реНрд╡рддрдВрддреНрд░ рдорд╛рдирджрдВрдб рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдорд╛рдкрджрдВрдб рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдмрдбрд╝реА рд╢рдХреНрддрд┐ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ - рдХрдИ рдорд┐рд▓рд┐рдпрди рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдХреНрд░рдо рдХрд╛ред рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдорд╛рдирджрдВрдб рдФрд░ рдЫрдБрдЯрд╛рдИ рд╕рд┐рджреНрдзрд╛рдВрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдореИрдВ рдХреИрд╕реЗ (рдореИрдВ рдпрд╣ рднреА рдкреВрдЫреВрдВрдЧрд╛: рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕реНрдХреНрд░реАрди рдкрд░ рд▓рд╛рдЦреЛрдВ рд░рд┐рдХреЙрд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? - рд▓реЗрдХрд┐рди рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ 0 рд╕реЗрдХрдВрдб рдХреЗ рд╕рдордп рдореЗрдВ рдпрд╣ рд╕рдм рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП?
рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдирдХрд╛ рд╕рдорд╛рдзрд╛рди DBMS рдкрд░ рдЕрддреНрдпрдзрд┐рдХ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рддрд╣рдд рдЖрдкрдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдУрд░реЗрдХрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреА рдЖрд╕реНрддреАрди рдореЗрдВ рдПрдХ рдЗрдХреНрдХрд╛ рд╣реИрдВ, рддреЛ рдПрдХ рдореМрдХрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЗрди рдмреИрд╕рд╛рдЦрд┐рдпреЛрдВ рдХреЛ рдЦреБрдж рд╣реА рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдкреГрдереНрд╡реА рдкрд░ рдиреАрдЪреЗ рдЬрд╛рдУ - рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ MySQL рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрдврд╝рдирд╛ рд╣реЛрдЧрд╛ред

Sql рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХрд╛рд░реНрдп рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
drop table if exists pivot;
drop table if exists entity_details;
drop table if exists entity;

create table pivot
(
row_number int (4) unsigned auto_increment,
primary key pk_pivot (row_number)
)
engine = innodb;

insert into pivot(row_number)
select null
from information_schema.global_status g1, information_schema.global_status g2
limit 500;

create table entity(entt_id int (10) unsigned auto_increment,
order_column datetime,
high_selective_column int (10) unsigned not null ,
low_selective_column int (10) unsigned not null ,
data_column varchar (32),
constraint pk_entity primary key (entt_id)
)
engine = innodb;

create table entity_details(edet_id int (10) unsigned auto_increment,
det_high_selective_column int (10) unsigned not null ,
det_low_selective_column int (10) unsigned not null ,
det_data_column varchar (32),
entt_entt_id int (10) unsigned,
constraint pk_entity_details primary key (edet_id)
)
engine = innodb;

insert into entity(order_column,
high_selective_column,
low_selective_column,
data_column
)
select date_add(str_to_date("20000101", "%Y%m%d"),
interval (p1.row_number + (p2.row_number - 1) * 300 + (p3.row_number - 1) * 300 * 300) second
)
order_column,
round((p1.row_number + (p2.row_number - 1) * 300 + (p3.row_number - 1) * 300 * 300) / 3, 0)
high_selective_column,
(p1.row_number + (p2.row_number - 1) * 300 + (p3.row_number - 1) * 300 * 300) mod 10 low_selective_column,
p1.row_number + (p2.row_number - 1) * 300 + (p3.row_number - 1) * 300 * 300 data_column
from ( select * from pivot limit 300) p1,
( select * from pivot limit 300) p2,
( select * from pivot limit 300) p3;

insert into entity_details(det_high_selective_column,
det_low_selective_column,
det_data_column,
entt_entt_id
)
select e.high_selective_column + p.row_number det_high_selective_column,
case when e.low_selective_column = 0 then 0 else p.row_number end det_low_selective_column,
concat(e.data_column, ' det' ) det_data_column,
e.entt_id
from entity e,
( select * from pivot limit 2) p;

create index idx_entity_details_entt
on entity_details(entt_entt_id);

select *
from entity_details ed, entity e
where ed.entt_entt_id = e.entt_id
order by order_column desc
limit 0, 10;

рдорд╛рдереЗ рдореЗрдВ рдЬрд╛рдВрдЪ рдХреА рдпреЛрдЬрдирд╛ рд╕рд╛рдВрддреНрд╡рдирд╛ рдирд╣реАрдВ рджреЗрддреА рд╣реИред
рдЖрдИрдбреАSELECT_TYPEрддрд╛рд▓рд┐рдХрд╛рдЯрд╛рдЗрдкpossible_keysрдХреБрдВрдЬреАkey_lenрд░реЗрдлрд░реАрдкрдВрдХреНрддрд┐рдпреЛрдВрдЕрддрд┐рд░рд┐рдХреНрдд
1рд╕рд░рд▓рдИрд╕рднреАрдкреНрд░рд╛рдердорд┐рдХ26982790рдлрд╛рдЗрд▓рд╕рд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
1рд╕рд░рд▓рдПрдбрд░реЗрдлрд░реАidx_entity_details_enttidx_entity_details_entt5test.e.entt_id1рдЬрд╣рд╛рдБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрдиреБрдХреНрд░рдорд┐рддреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЛ рдЙрдкрджреНрд░рд╡ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ 2 рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдкрд╣рд▓реА рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЗрдХрд╛рдИ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рджреЗрдВ, рдФрд░ рджреВрд╕рд░рд╛ - рдЗрд╕рдХреЗ рдмрд╣реБрдд рд╡рд┐рд╡рд░рдгред рдЖрдорддреМрд░ рдкрд░ рдЖрдкрдХреЛ рд╕рдВрджрд░реНрднрд╛рддреНрдордХ рдЕрдЦрдВрдбрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдФрд░ рдирд┐рд░рдВрддрд░ DML'ing рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХреА рджреЛ рддрд╛рд▓рд┐рдХрд╛рдПрдВ рд╣реИрдВ, рддреЛ рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ BUG # 15136 рдирд╣реАрдВ рд╣реИ ред рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд░реАрдб рдЗрди рдореЛрдб рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЦрддрд░рдирд╛рдХ innodb_locks_unsafe_for_binlog рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдбрд╛рд▓рдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдирд╣реАрдВ рдмрдЪрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЦреИрд░, рдпрд╣ рдРрд╕рд╛ рд╣реИ, рд╡реИрд╕реЗ, рд╣рдорд╛рд░реА рднреЗрдбрд╝реЛрдВ рдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ред рдкрд╣рд▓реЗ, рдЖрдЗрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рджреЗрдЦреЗрдВ - рдСрд░реНрдбрд░ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реИрдВред

рд╡рд┐рдХрд▓реНрдк 1. рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рдлрд╝реАрд▓реНрдб рдЬрд┐рд╕рдореЗрдВ рдХреЙрд▓рдо рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВ, рдФрд░ рдЕрдВрддрд┐рдо рдХреЙрд▓рдо рдЬрд┐рд╕рдореЗрдВ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреА рдЧрдИ рд╣реИред рдЪреВрдВрдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реЙрд░реНрдЯ рдХрд┐рдП рдЧрдП рдлреЙрд░реНрдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ, рдЗрд╕рд▓рд┐рдП MySQL рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХрд╛рд░реНрдп рдХреА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧреАред рдПрдХреНрд╕реЗрд╕ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдЙрди рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдЦреЛрдЬрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпреЛрдЬрдирд╛ рдореЗрдВ, рдЖрдк рдЯрд╛рдЗрдк рдХреЙрд▓рдо рдореЗрдВ рдпрд╛ рддреЛ рд░реЗрдВрдЬ , рдпрд╛ рд░реЗрдлрд░реА рдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рджреЗрдЦреЗрдВрдЧреЗред рдбреЗрдЯрд╛ рдХреЗ рдЕрдЧрд▓реЗ рдмреИрдЪ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реБрдП, рд░рдирдЯрд╛рдЗрдо рдореЛрдб рдореЗрдВ, рд╣рдо рдмрд╛рдХреА рдХреЙрд▓рдо рдкрдврд╝рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рдЬреЙрдЗрди рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХреЙрд▓рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рддрд╛рд░реНрдХрд┐рдХ рд▓рдЧрддрд╛ рд╣реИ) рдФрд░ рдирд┐рдореНрди рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╣рдо рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдХреНрд░рдордмрджреНрдз рддрд░реАрдХреЗ рд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдЬреЙрдЗрди рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рдлреЙрд░реНрдо рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдЬрдм рдЖрдкрдХреЛ рд╕рд╣реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдкрдврд╝рдирд╛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдореБрдЦреНрдп рджреЛрд╖ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЬрд┐рд╕ рд╕реНрддрдВрдн рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЬрд┐рд╕ рд╕реНрддрдВрдн рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд╣ рд╕реНрддрдВрдн рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВред рддреЛ рдЖрдкрдХреЛ рд╡рд╢реАрдХрд░рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╡рд┐рдХрд▓реНрдк 2 рдФрд░ 3 рдХреЗрд╡рд▓ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ рдЬрдм рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╡реЙрд▓реНрдпреВрдо рдЫреЛрдЯрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рд╡реЗ рдХреЗрд╡рд▓ рдЕрддреНрдпрдзрд┐рдХ рдЪрдпрдирд╛рддреНрдордХ рд╡рдХреНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИрдВред рд╡рд┐рдХрд▓реНрдк рджреЛ рдореЗрдВ, рд╣рдо рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рд╡рд┐рдХрд▓реНрдк рддреАрди рдореЗрдВ, рд╕рдореНрдорд┐рд▓рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЫрдБрдЯрд╛рдИ рдХреА рдЬрд╛рддреА рд╣реИред рдЪреВрдВрдХрд┐ MySQL рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЗрд╡рд▓ рдПрдХ рдЯреЗрдмрд▓ рдкрд░ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ - рддреАрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдЯреЗрдмрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдХреБрдЫ рдЦреАрдВрдЪ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рддреАрд╕рд░рд╛ рдорд╛рдорд▓рд╛ рдПрдХрдорд╛рддреНрд░ рд╕рдВрднрд╡ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬрдм MySQL рдЬреБрдбрд╝рдиреЗ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдХреВрд▓рди рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рджреЛ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк рд╣реЛрдЧрд╛ред рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдпреЗ рдкреНрд░рдХрд╛рд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдВрдЧреЗ:
рдЫрд╛рдБрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛рдЦрд╛рд▓реА рд╣реИ
рддрд╛рд▓рд┐рдХрд╛ рдП рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓рд╢реЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛"рдлрд╛рдЗрд▓рд╢реЙрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛"
JOIN рдХреЛ рд╕реЗрд╡ рдХрд░рдиреЗ рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдПрдХ рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЖ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд╛рдЗрд▓рд╢реЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ"рдЕрд╕реНрдерд╛рдпреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛; Filesort рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ тАЭ

рджреВрд╕рд░реЗ рдФрд░ рддреАрд╕рд░реЗ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рддрд░реАрдХреЛрдВ рдореЗрдВ, рд╕реАрдорд╛ рдХреЛ рдХреЗрд╡рд▓ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ 2 рдФрд░ 3 рдХреЗ рд╡рд┐рдХрд▓реНрдк рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рддреНрд╡рд░рд┐рдд рдлрд╛рдЗрд▓ рдорд░реНрдЬ рдПрдХ рддреНрд╡рд░рд┐рдд рд╕реЙрд░реНрдЯ рдорд░реНрдЬ рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред

рдЫрдВрдЯрд╛рдИ рджреЛ рддрд░рд╣ рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЫрдВрдЯрд╛рдИ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдмрд╛рдХреА рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреНрд╡реЗрд░реА рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдЕрдиреБрдХреВрд▓рд┐рдд рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдПрдХ рдмрд╛рд░ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХреЙрд▓рдо, рдФрд░ рдлрд┐рд░ рдХреНрд░рдордмрджреНрдзред рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рддреНрд╡рд░рд┐рдд рдкреНрд░рдпреЛрдЧ рд╕реЗ, рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдиреБрдХреВрд▓рд┐рдд рдЫрдБрдЯрд╛рдИ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдирд╣реАрдВ, max_length_for_sort_data рдкреИрд░рд╛рдореАрдЯрд░ рдЬрд╡рд╛рдм ред рдпрджрд┐ рдЯреБрдкрд▓реНрд╕ рдореЗрдВ рдирд┐рд╣рд┐рдд рдбреЗрдЯрд╛ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реЗ рдХрдо рд╣реИ, рддреЛ рдЫрдВрдЯрд╛рдИ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
drop procedure if exists pbenchmark_filesort;
delimiter $$
create procedure pbenchmark_filesort(i_repeat_count int (10))
main_sql:
begin
declare v_variable_value int (10);
declare v_loop_counter int (10) unsigned default 0;
declare continue handler for sqlstate '42S01' begin
end ;

create temporary table if not exists temp_sort_results(
row_number int (10) unsigned
)
engine = memory;
truncate table temp_sort_results;

select variable_value
into v_variable_value
from information_schema.session_status
where variable_name = 'INNODB_ROWS_READ' ;

begin_loop:
loop
set v_loop_counter = v_loop_counter + 1;

if v_loop_counter <= i_repeat_count then
insert into temp_sort_results(row_number)
select sql_no_cache row_number from pivot order by concat(row_number, '0' ) asc ;
truncate table temp_sort_results;
iterate begin_loop;
end if ;

leave begin_loop;
end loop begin_loop;

select variable_value - v_variable_value records_read
from information_schema.session_status
where variable_name = 'INNODB_ROWS_READ' ;
end
$$
delimiter ;

set session max_length_for_sort_data = 0;
call pbenchmark_filesort(10000);
-- records_read
-- 10 000 000
-- 0:00:12.317 Query OK

set session max_length_for_sort_data = 1024;
call pbenchmark_filesort(10000);
-- records_read
-- 5 000 000
-- 0:00:06.228 Query OK


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрд▓реНрдЧреЛрд░рд┐рдердо рд╕рдВрдЦреНрдпрд╛ 2 рджреНрд╡рд╛рд░рд╛ рдЫрдВрдЯрдиреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛ рдмрд╛рд░ рддреЗрдЬреА рд╕реЗ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ 2 рдЧреБрдирд╛ рдХрдо рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдкрдврд╝рддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореЗрдореЛрд░реА рд▓рд╛рдЧрддреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдк рд╡реИрд░рд┐рдПрдмрд▓ max_length_for_sort_data рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореВрд▓реНрдп рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд░рд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓реЗрдВрдЧреЗред
рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЙрдкрд▓рдмреНрдз рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдкреВрд░рд╛ рд▓рд╛рдн рдЙрдард╛рдПрдВрдЧреЗред рд╣рдо рд╡рдиреАрдХрд░рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЖрдк рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХреИрд╕реЗ рдХрд░реЗрдВрдЧреЗ, рдпрд╣ рдПрдХ рдФрд░ рдорд╛рдорд▓рд╛ рд╣реИ)ред рдФрд░ рд╣рдо рдЧреИрд░-рдЪрдпрдирд╛рддреНрдордХ рд╡рдХреНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЧреНрд░ рд╕реВрдЪрдХрд╛рдВрдХ рдФрд░ рдЕрддреНрдпрдзрд┐рдХ рдЪрдпрдирд╛рддреНрдордХ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдЧреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕реВрдЪрдХрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдЫрдБрдЯрд╛рдИ рдФрд░ рд╕реАрдорд╛ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рдирдореЗрдВ рдХреЗрд╡рд▓ рдХрдо-рдЪрдпрдирд╛рддреНрдордХ рдХреЙрд▓рдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдЕрддреНрдпрдзрд┐рдХ рдЪрдпрдирд╛рддреНрдордХ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдФрд░ рддреЗрдЬрд╝ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡рд┐рд▓рдп рдХреЗ рдмрд┐рдирд╛ рдПрдХрд▓-рдкрд╛рд╕ рдлрд╝рд┐рд╕реЙрд░реНрдЯреНрд╕ред
create table entity_and_details(entt_entt_id int (10) unsigned not null ,
edet_edet_id int (10) unsigned not null ,
order_column datetime,
high_selective_column int (10) unsigned not null ,
low_selective_column int (10) unsigned not null ,
det_high_selective_column int (10) unsigned not null ,
det_low_selective_column int (10) unsigned not null ,
constraint pk_entity_and_details primary key (entt_entt_id, edet_edet_id)
)
engine = innodb;

insert into entity_and_details(entt_entt_id,
edet_edet_id,
order_column,
high_selective_column,
low_selective_column,
det_high_selective_column,
det_low_selective_column
)
select entt_id,
edet_id,
order_column,
high_selective_column,
low_selective_column,
det_high_selective_column,
det_low_selective_column
from entity_details ed, entity e
where ed.entt_entt_id = e.entt_id;

create index idx_entity_and_details_low_date
on entity_and_details(low_selective_column, order_column);

create index idx_entity_and_details_det_low_date
on entity_and_details(det_low_selective_column, order_column);

create index idx_entity_and_details_date
on entity_and_details(order_column);

create index idx_entity_and_details_high
on entity_and_details(high_selective_column);

create index idx_entity_and_details_det_high
on entity_and_details(det_high_selective_column);

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд┐рдХреГрддрд┐ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдПрдХ рдЦрд╛рдореА рдорд┐рд▓реАред рдкреГрд╖реНрда рд▓реЗрдЖрдЙрдЯ рд╡рд┐рднрд┐рдиреНрди рдкреГрд╖реНрдареЛрдВ рдкрд░ рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдмрд┐рдЦреЗрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЪрд░реНрдЪреЛрдВ рдХреЛ рдФрд░ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрд╛ред рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдХреЗрд╡рд▓ рдП рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рд╕рднреА рдорд╛рдирджрдВрдбреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде, рдкреЗрдЬрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реАрдорд╛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ, рдФрд░ рдлрд┐рд░ рдЗрдХрд╛рдИ рдХрд╛ рд╡рд┐рд╡рд░рдг рдЪреБрдиреЗрдВред
select distinct entt_entt_id
from entity_and_details
where det_low_selective_column = 0
order by order_column
limit 0, 3;

select *
from entity_and_details
where entt_entt_id in (10, 20, 30);

рд╕рдЪ рдХрд╣реВрдБ рддреЛ, рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдкрд░ + рд╕реАрдорд╛ рджреНрд╡рд╛рд░рд╛ рднрд┐рдиреНрди + рдЖрджреЗрд╢ рдХреЗ рд░реВрдк рдХрд╛ рдПрдХ рдбрд┐рдЬрд╛рдЗрди рдЬрд▓реНрджреА рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, MySQL рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╕реЛрдЪрддреЗ рд╣реИрдВред рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдПрдХ Not BUG # 33087 рдмрдЧ рдкрд░ рдЖрдпрд╛ , рдЬреЛ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдмрдЧ рдирд╣реАрдВ рдерд╛, рдмрд▓реНрдХрд┐ рдПрдХ рдлреАрдЪрд░ рдерд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдпрд╣ рд╕рдордЭрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ MySQL рдЕрд▓рдЧ рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рди рдХрд░рддрд╛ рд╣реИ ред рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╣рд▓рд╛ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдерд╛: рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП, рд╕рдореВрд╣ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд╕рдорд╛рди рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдореВрд╣реАрдХрд░рдг рджреЛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкрд╣рд▓рд╛ рдорд╛рдорд▓рд╛ рдХреЗрд╡рд▓ рддрднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рдРрд╕рд╛ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реЛ рдЬреЛ рд╕рдореВрд╣реАрдХрд░рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реЛред рджреВрд╕рд░реА рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрдВрдбреЗрдХреНрд╕ рдЧреНрд░реБрдкрд┐рдВрдЧ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдФрд░ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдХрдо-рдЪрдпрдирд╛рддреНрдордХ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдкрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдЪ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдЖрдкрдХреЛ рдЖрдВрд╢рд┐рдХ рдЬреБрдбрд╝рд╛рд╡ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╕рд╛рде рд╣реА рд╡рд░реНрддрдорд╛рди рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рд╕рдореВрд╣ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпреЗ рддреНрд░рд┐рдЧреБрдгрд╛рддреНрдордХ рд╣реИрдВ)ред рджреВрд╕рд░реА рдпреЛрдЬрдирд╛ рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рд░реИрдо рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЦрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рд╕рдореВрд╣реАрдХрд░рдг рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рд╕рдореВрд╣ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рд╣реИред рдмрд╣реБрдд рдмрдбрд╝реЗ рдореВрд▓реНрдпреЛрдВ рдкрд░, рдпрд╣ рддрд╛рд▓рд┐рдХрд╛ MyISAM рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ рдФрд░ рдбрд┐рд╕реНрдХ рдореЗрдВ рдкреНрд░рд╡рд╛рд╣рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╕рднреА рдирдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдореВрд╣реЛрдВ рдХреЛ рдкрд╣рд▓реЗ рдЗрд╕ рдмрдбрд╝реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕рдореЗрдВ рдорд╛рдиреЛрдВ рдХреЛ рдмрджрд▓ рджреЗрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рдпрд╛ рд╕рдореВрд╣ рдирд╣реАрдВ рдорд┐рд▓рдиреЗ рдкрд░ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВред рдлрд╛рдЗрдирд▓ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдпрджрд┐ рдЖрдкрдХреЛ рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рд╕реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рд╢реВрдиреНрдп рджреНрд╡рд╛рд░рд╛ рдСрд░реНрдбрд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкрд╣рд▓рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг, рд╕рд╛рде рд╣реА рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ MySQL рдбреЗрдЯрд╛ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рд╕реАрдорд╛ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рд╕рдореВрд╣рди рдкрд░рд┐рдгрд╛рдо рдмрд╣реБрдд рдЬрд▓реНрджреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЕрдм рдЕрдкреНрд░рд┐рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рддреЛ, рд╣рдореЗрдВ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдорд┐рд▓рд╛ рдЬреЛ рдЬрд▓реНрджреА рд╕реЗ рдкрд╣рд▓рд╛ рд░рд┐рдХреЙрд░реНрдб рдвреВрдВрдврддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдб рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдПрдХ рдФрд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕реНрдХреНрд░реАрди рдкрд░ рдЕрдЧрд▓рд╛ рдмрдЯрди рджрд┐рдЦрд╛рдИ рджреЗред
MySQL рдПрдХ рдЯреЗрдмрд▓ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рдХреИрд╕реЗ рдзрдордХреА рджреЗрддрд╛ рд╣реИ? рдЖрдЗрдП рдПрдХ рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬреИрд╕реЗ:
select distinct entt_entt_id
from entity_and_details
where det_low_selective_column = 0 and low_selective_column = 1
order by order_column
limit 0, 3;

рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЛ, рдЖрдк рдЗрд╕реЗ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЧрдард┐рдд рд╡рд┐рдлрд▓рддрд╛ рджреЗрдЦреЗрдВрдЧреЗред рдорд╛рдирджрдВрдб det_low_selective_column = 0 рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реЗрдЯ рдХрд╛ рдорд╛рдирджрдВрдб рдХрдо_рд╕реЗрдкреНрдЯрд┐рд╡_column = 1 рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИред рд╣рдо рдпрд╣ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ MySQL рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╡рд╣ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЙрд╕рдХреА рд░рд╛рдп рдореЗрдВ рд╕реНрдХреИрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИ рдФрд░ 2 рдЗрдВрдбреЗрдХреНрд╕, рдЪрдпрдирд┐рдд рдФрд░ рдкреАрдХреЗ рдХрд╛ рдкреВрд░реНрдг рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдШрд╛рддрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХреЛ рд╕реНрдХреИрди рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕рдВрдЧрдарди рдХреЗ рдХрд╛рд░рдг рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдкреВрд░реНрдг рд╕реНрдХреИрди рд╣реИред рдРрд╕реЗ рд╕рднреА рдЕрдВрддрд░рд╛рд▓реЛрдВ рдкрд░ рд╕рдордЧреНрд░ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд░ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╕рдмрд╕реЗ рдЕрдкреНрд░рд┐рдп рдХреНрд╖рдгред InnoDB рдкреНрд░рддрд┐ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗрд╡рд▓ рдПрдХ рдореНрдпреВрдЯреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдЖрдк рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдорд┐рд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ InnoDB рдЗрдВрдЬрди рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рд▓реЙрдХ рдХрд░ рджреЗрддрд╛ рд╣реИ, рд░реАрдб рдСрдкрд░реЗрд╢рдВрд╕ рдХреЛ рд░реЛрдХ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд░рд╛рдЗрдЯ рдСрдкрд░реЗрд╢рди рд╕реЗ рдмреА-рдЯреНрд░реА рд╡рд┐рднрд╛рдЬрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рд░рд┐рдХреЙрд░реНрдб рджреВрд╕рд░реЗ рдкреЗрдЬ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрдорд╛рд░реНрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреВрд░реЗ рдкреЗрдбрд╝ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрд╕рдХрд╛ рд╡рд┐рднрд╛рдЬрди рднрд╛рдЧ рд╣реЛрддрд╛ рд╣реИред MySQL рдореЗрдВ, рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдк рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ InnoDB рдкреНрд▓рдЧрдЗрди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, 5.5 рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдирдХ рдмрди рдЧрдпрд╛ рд╣реИ, рд╢рд╛рдпрдж рд╡рд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ)ред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЕрд░реНрдерд╛рдд рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╡рд┐рднрд╛рдЬрди рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рдЕрдиреБрдХреНрд░рдорд┐рдд рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рднрд╛рдЬрди рдПрдХ рдЕрд▓рдЧ рддрд╛рд▓рд┐рдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рднрд╛рдЬрди рдПрдХ рдФрд░ рдХрд╣рд╛рдиреА рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЙрд╕ рдкрд░ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖


рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди, рдЬреЛ рдХрдареЛрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреА рд╣реИ, рдХрд╛ рд╡рд░реНрдгрди рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрдИ рд╕реЗрдЯреЛрдВ рдореЗрдВ рдмрд╣реБ-рдорд╛рдкрджрдВрдб рдЦреЛрдЬ рдХреА рд╕рдорд╕реНрдпрд╛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЖрдк рд╕реНрдлрд┐рдВрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдХрдИ рдЯреЗрдореНрдкрд▓реЗрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрд▓реНрдж рд╣реА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЖрдк рдЕрднреА рднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП, рдлрд┐рд░ рдЖрдкрдХреЛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛, рдбреЗрдЯрд╛ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреА рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕рдореАрдХреНрд╖рд╛ рд▓реЗрдЦ рдЖрдкрдХреЛ рдХреБрдЫ рдРрд╕реЗ рдиреБрдХрд╕рд╛рдиреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдХрд╛рдВрдЯреЗрджрд╛рд░ рдкрде рдкрд░ рдЖрдкрдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

ZY рдореБрдЭреЗ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрдиреБрдХреВрд▓рди рдЫреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛, рдХреНрдпреЛрдВрдХрд┐ рд▓реЗрдЦ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдирд┐рдХрд▓рд╛ред рдореБрджреНрджреЛрдВ рдХреА рдкреВрд░реА рд╕рдордЭ рдХреЗ рд▓рд┐рдП рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдХрдИ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕реБрдЭрд╛рд╡ рднреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
* рд╕рднреА рдХреЛрдб рд╕реНрд░реЛрддреЛрдВ рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред

Source: https://habr.com/ru/post/In125428/


All Articles