MYSQL面接--インデックス(四)

3163 ワード

-- 7.  
--   1:https://www.cnblogs.com/liqiangchn/p/9060521.html    --      
--   2:https://www.cnblogs.com/gdwkong/articles/8505125.html    --   sql  
--   3:https://www.cnblogs.com/gdwkong/articles/8505125.html    --   、explain  
--   4:https://www.cnblogs.com/s-b-b/p/8334593.html    --              
--   5:https://blog.csdn.net/yangyu112654374/article/details/4251624    -- using filesore      
--        :
	--     ' '  、                     (     )
	--   '    '  ,       (    )
	--     '   '  ,                。     ,                        ,              ,      '    '(     )
	
--     
	--     :
		-- B-Tree  (MySQL  B+Tree):​B-Tree          ,                     ,           
		-- B+Tree  : B-Tree     ,                   。         ,           ,                   。  B-Tree  ,                ,      。 B-Tree        ,    B+Tree    
		-- Hash  :              (hash code),  Hash               ,                   
		-- full-index    
		-- R-Tree  
	--     :
		--     :    ,       (eg:id/name/age/sex...)
		--     :      ,     (eg:id)
		--     :    (eg:id+class)
	--     /    :
		--     :           (         )       ,              
			-- InnoDB                B-Tree(    B+Tree)    
			-- mysql         
			--               ,                ,                                    ,            
		--      :             
			--                ,               ,            ,                   ,             ,              。
	
	--   :mysql      innodb     B-Tree(        B+Tree)  ,        ,innodb        hash  ,  B        hash  ,          ,         ,     ,   。
--      
	--            
	--               
	--        ,        
	--          SQL  ,     ,          
--     
	--        ,                
	--            ,             
	--            ,                     
	--                  ,                   
--     
	--           ,             ,               ,        ,           
	--            、        ,       ,         
	
	
-- (  )           B-Tree,   hash,   ,   ?
	-- 1.hash:        ,      ,IO    。
	-- 2.   :       ,     ,         (    ),  IO   。
	-- 3.   :              ,IO   。
	
-- (  )                  ?
	--   B+Tree   ,        ,             ,        ,          。          ,           。              

-- (  )       /          ?
--   :https://github.com/frank-lam/2019_campus_apply/blob/master/notes/MySQL.md#7-%E7%B4%A2%E5%BC%95%E5%A4%B1%E6%95%88


-- (  )          ?
--   :https://github.com/frank-lam/2019_campus_apply/blob/master/notes/MySQL.md#8-%E5%9C%A8%E4%BB%80%E4%B9%88%E6%83%85%E5%86%B5%E4%B8%8B%E9%80%82%E5%90%88%E5%BB%BA%E7%AB%8B%E7%B4%A2%E5%BC%95

--   1:    
CREATE INDEX c1 ON demo(NAME);--  'name'    (create)
ALTER TABLE demo ADD INDEX c2(PASSWORD); --  'password'    (alter)
CREATE INDEX c3 ON demo(NAME,PASSWORD);	--       
ALTER TABLE demo ADD PRIMARY KEY(id);--     /    
ALTER TABLE demo ADD CONSTRAINT pk_id PRIMARY KEY(id);

DROP INDEX c3 ON demo;--     
ALTER TABLE demo DROP PRIMARY KEY;--   primary  

SHOW INDEX FROM demo;--     
	
--   2:explain  sql  
EXPLAIN SELECT * FROM demo;
EXPLAIN SELECT id,NAME,PASSWORD FROM demo WHERE id = 1;