Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
mysql ÓÅ»¯
 
×÷Õߣº qq_24565607
  1834  次浏览      31
2019-12-12
 
±à¼­ÍƼö:
ÎÄÕ½²½âÊý¾Ý½á¹¹Hash¡¢Æ½ºâ¶þ²æÊ÷¡¢BÊ÷¡¢B+Ê÷Çø±ð £¬MyisamÓëInnodb B+Ê÷µÄÇø±ð £¬MySQLÖеÄË÷ÒýʲôÊý¾Ý½á¹¹ £¬B+Ê÷ÖеĽڵ㵽µ×´æ·Å¶àÉÙ,Ï£Íû¶ÔÄúÓÐËù°ïÖú,
±¾ÎÄÀ´×Ôcsdn£¬ÓÉ»ðÁú¹ûÈí¼þDelores±à¼­¡¢ÍƼö¡£

mysql ÓÅ»¯Èý²¿·Ö £ºË÷ÒýµÄÓÅ»¯£¬sql Âý²éѯµÄÓÅ»¯£¬±íµÄÓÅ»¯

MySQLÊý¾Ý¿âÅäÖÃÂý²éѯ
²ÎÊý˵Ã÷:
slow_query_log Âý²éѯ¿ªÆô״̬
slow_query_log_file Âý²éѯÈÕÖ¾
´æ·ÅµÄλÖã¨Õâ¸öĿ¼ÐèÒªMySQLµÄ
ÔËÐÐÕʺŵĿÉдȨÏÞ£¬Ò»°ãÉèÖÃΪ
MySQLµÄÊý¾Ý´æ·ÅĿ¼£©
long_query_time ²éѯ³¬¹ý¶àÉÙÃë²Å¼Ç¼
1.²éѯÂý²éѯÅäÖÃ
show variables like 'slow_query%';
2.²éѯÂý²éѯÏÞÖÆÊ±¼ä
show variables like 'long_query_time';
3.½« slow_query_log
È«¾Ö±äÁ¿ÉèÖÃΪ¡°ON¡±×´Ì¬
set global slow_query_log='ON';
4.²éѯ³¬¹ý1Ãë¾Í¼Ç¼
set global long_query_time=1;
Ò»°ãÂý²éѯÈÕÖ¾ÊÇÒ»¸öËæ»úÊý×Ö¼Ó×ÖĸµÄ
Èç¹ûÐèÒªµ÷Õû²âÊÔ¿ÉÒÔ×öÈçÏ´¦Àí
set global slow_query_log_file
="/var/lib/mysql/localhost-slow.log";
5.²éѯcat /var/lib/mysql
/localhost-slow.log
service mysqld restart

²âÊÔÂý²éѯÓï¾ä

CREATE TABLE `user_details` (
`id` int(11),
`user_name` varchar(50)
DEFAULT NULL,
`user_phone` varchar(11)
DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT
CHARSET=utf8;
ALTER TABLE `user_details`
ADD INDEX user_name_index
( `user_name` )insert into
user_details values
(1,'testliuliu1','15921009245');
insert into user_details values(2,'testliuliu2','15921009245');
insert into user_details values(3,'testliuliu3','15921009245');
insert into user_details values(4,'testliuliu4','15921009245');
insert into user_details values(5,'testliuliu5','15921009245');
insert into user_details values(6,'testliuliu6','15921009245');
EXPLAIN select * from user_details
WHERE id=1
EXPLAIN select * from user_details
WHERE id=1 and user_name='yushengjun1';
EXPLAIN select * from user_details
WHERE id like '%sss'
EXPLAIN select * from user_details
WHERE id like '%1'
EXPLAIN select * from user_details
WHERE user_name like '1%'
EXPLAIN select * from user_details
WHERE user_name =1;
EXPLAIN select * from user_details
WHERE user_name ='1';

²âÊÔÁªºÏË÷ÒýÓï¾ä

CREATE TABLE `user_details1`(
`id` int(11),
`user_name` varchar(50)
DEFAULT NULL,
`user_phone` varchar(11)
DEFAULT NULL,
PRIMARY KEY (id,user_name)
) ENGINE=InnoDB DEFAULT
CHARSET=utf8;insert into user
_details1 values
(1,'testliuliu1','15921009245');
insert into user_details1 values(1,'testliuliu2','15921009245');
insert into user_details1 values(2,'testliuliu1','15921009245');
insert into user_details1 values(2,'testliuliu2','15921009245');
insert into user_details1 values(3,'testliuliu1','15921009245');
insert into user_details1 values(3,'testliuliu2','15921009245');
EXPLAIN select * from user_details1
WHERE id=1
EXPLAIN select * from user_details1
WHERE id=1 and user_name='testliuliu1';
EXPLAIN select * from user_details1
WHERE user_name='testliuliu1';
EXPLAIN select * from user_details1
WHERE user_name='testliuliu1'
and id=1
(1,testliuliu1 1,testliuliu2),
(2,testliuliu1 2,testliuliu2),
(3,testliuliu1 3,testliuliu2)
²âÊÔMYISAMÒýÇæ
CREATE TABLE `user_details2` (
`id` int(11),
`user_name` varchar(50) DEFAULT NULL,
`user_phone` varchar(11) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT
CHARSET=utf8;insert into user_details2 values(1,'testliuliu1','15921009245');
insert into user_details2 values(2,'testliuliu2','15921009245');
insert into user_details2 values(3,'testliuliu3','15921009245');
insert into user_details2 values(4,'testliuliu4','15921009245');
insert into user_details2 values(5,'testliuliu5','15921009245');
insert into user_details2 values(6,'testliuliu6','15921009245');

×ܽá

È«±íɨÃ裺»á½«ÕûÕűíÊý¾ÝÈ«²¿É¨ÃèÒ»±é£¬ÕâÑùµÄ»°Ð§Âʷdz£µÍ¡£

HashË÷Òý

Óŵ㣺ͨ¹ý×ֶεÄÖµ¼ÆËãµÄhashÖµ£¬¶¨Î»Êý¾Ý·Ç³£¿ì¡£

ȱµã£º²»Ö§³Ö·¶Î§²éѯ

Ϊʲô²»Ö§³Ö·¶Î§²éѯ£¿

ÒòΪµ×²ãÊý¾Ý½á¹¹ÊÇÉ¢Áеģ¬ÎÞ·¨½øÐбȽϴóС

ƽºâ¶þ²æÊ÷ »áȡһ¸öÖмäÖµ£¬ÖмäÖµ×ó±ß³ÆÎª×ó×ÓÊ÷ £¬ÖмäÖµÓұ߳ÆÎªÓÒ×ÓÊ÷ ¡£

×ó×ÓÊ÷±ÈÖмäС£¬ÓÒ×ÓÊ÷±ÈÖмäÖµ¡£

ƽºâ¶þ²æÊ÷ ²éѯԭÀí

¼ÙÉè²éѯ10 £¨ÐèÒª¾­Àú4´ÎIO²Ù×÷£©

1´Î ´ÓÓ²ÅÌÖжÁÈ¡4 £¨Äڴ棩£¬ÅжÏÏÂ10>4£¬È¡ÓÒÖ¸Õë

2´Î ´ÓÓ²ÅÌÖжÁÈ¡8 £¨Äڴ棩£¬ÅжÏÏÂ10>8£¬È¡ÓÒÖ¸Õë

3´Î ´ÓÓ²ÅÌÖжÁÈ¡9 £¨Äڴ棩£¬ÅжÏÏÂ10>£¬È¡ÓÒÖ¸Õë

4´Î ´ÓÓ²ÅÌÖжÁÈ¡10 £¨Äڴ棩£¬ÅжÏÏÂ10=10£¬¶¨Î»µ½Êý¾Ý

ƽºâ¶þ²æÊ÷ ²éѯЧÂÊ»¹¿ÉÒÔ£¬È±µã£ºËäȻ֧³Ö·¶Î§²éѯ£¬µ«ÊÇ»ØÐý²éѯЧÂʵ͡£

¹æÂÉ£ºÈç¹ûÊ÷µÄ¸ß¶ÈÔ½¸ß£¬ÄÇô²éѯIO´ÎÊý»áÔ½¶à¡£

ÈçºÎÈ¥¼õÉÙ²éѯIO´ÎÊý£¿

BÊ÷ÔÚÆ½ºâ¶þ²æÊ÷ÖУ¬¼õÉÙÊ÷µÄ¸ß¶È

½áÂÛ£ºBÊ÷±Èƽºâ¶þ²æÊ÷¼õÉÙÁËÒ»´ÎIO²Ù×÷

BÊ÷²éѯЧÂÊ±ÈÆ½ºâ¶þ²æÊ÷ЧÂÊÒª¸ß£¬ÒòΪBÊ÷µÄ½ÚµãÖпÉÒÔÓжà¸öÔªËØ£¬´Ó¶ø¼õÉÙÊ÷µÄ¸ß¶È£¬¼õÉÙIO²Ù×÷£¬´Ó¶øÌá¸ß²éѯЧÂÊ£¬È±µã£º·¶Î§²éѯЧÂÊ»¹ÊDZȽϵ͡£

B+Ê÷ ½â¾ö·¶Î§²éѯÎÊÌâ¡¢¼õÉÙIO²éѯµÄ²Ù×÷¡£

B+Ê÷Ïà±ÈBÊ÷£¬ÐÂÔöÒ¶×Ó½ÚµãÓë·ÇÒ¶×Ó½Úµã¹ØÏµ£¬Ò¶×Ó½ÚµãÖаüº¬ÁËkeyºÍvalue£¬·ÇÒ¶×Ó½ÚµãÖÐÖ»Êǰüº¬ÁËkey£¬²»°üº¬value¡£

B+Ê÷Ëã·¨£º ͨ¹ý¼Ì³ÐÁËBÊ÷µÄÌØÕ÷£¬B+Ê÷Ïà±ÈBÊ÷£¬ÐÂÔöÒ¶×Ó½ÚµãÓë·ÇÒ¶×Ó½Úµã¹ØÏµ£¬Ò¶×Ó½ÚµãÖаüº¬ÁËkeyºÍvalue£¬·ÇÒ¶×Ó½ÚµãÖÐÖ»Êǰüº¬ÁËkey£¬²»°üº¬value¡£Í¨¹ý·ÇÒ¶×Ó½Úµã²éѯҶ×Ó½Úµã»ñÈ¡¶ÔÓ¦µÄvalue£¬ËùÓÐÏàÁÚµÄÒ¶×Ó½Úµã°üº¬·ÇÒ¶×ӽڵ㣬ʹÓÃÁ´±í½øÐнáºÏ£¬ÓÐÒ»¶¨Ë³ÐòÅÅÐò£¬´Ó¶ø·¶Î§²éѯЧÂʷdz£¸ß¡£

ȱµã£ºÒòΪÓÐÈßÓà½ÚµãÊý¾Ý£¬»á±È½ÏÕ¼ÄÚ´æ¡£

   
1834 ´Îä¯ÀÀ       31
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ