20 lines
		
	
	
		
			907 B
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			20 lines
		
	
	
		
			907 B
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								CREATE TABLE t1 (id int(11) NOT NULL PRIMARY KEY, name varchar(20),
							 | 
						||
| 
								 | 
							
								INDEX (name)) ENGINE=InnoDB;
							 | 
						||
| 
								 | 
							
								CREATE TABLE t2 (id int(11) NOT NULL PRIMARY KEY, fkey int(11),
							 | 
						||
| 
								 | 
							
								FOREIGN KEY (fkey) REFERENCES t2(id)) ENGINE=InnoDB;
							 | 
						||
| 
								 | 
							
								INSERT INTO t1 VALUES (1,'A1'),(2,'A2'),(3,'B');
							 | 
						||
| 
								 | 
							
								INSERT INTO t2 VALUES (1,1),(2,2),(3,2),(4,3),(5,3);
							 | 
						||
| 
								 | 
							
								EXPLAIN
							 | 
						||
| 
								 | 
							
								SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id 
							 | 
						||
| 
								 | 
							
								WHERE t1.name LIKE 'A%';
							 | 
						||
| 
								 | 
							
								id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
							 | 
						||
| 
								 | 
							
								1	SIMPLE	t1	index	PRIMARY,name	name	23	NULL	3	Using where; Using index
							 | 
						||
| 
								 | 
							
								1	SIMPLE	t2	ref	fkey	fkey	5	test.t1.id	1	Using where; Using index
							 | 
						||
| 
								 | 
							
								EXPLAIN
							 | 
						||
| 
								 | 
							
								SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id 
							 | 
						||
| 
								 | 
							
								WHERE t1.name LIKE 'A%' OR FALSE;
							 | 
						||
| 
								 | 
							
								id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
							 | 
						||
| 
								 | 
							
								1	SIMPLE	t2	index	NULL	fkey	5	NULL	5	Using index
							 | 
						||
| 
								 | 
							
								1	SIMPLE	t1	eq_ref	PRIMARY	PRIMARY	4	test.t2.fkey	1	Using where
							 | 
						||
| 
								 | 
							
								DROP TABLE t1,t2;
							 |