mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	Change optimizer to prefer key lookups before table scan Change table scans to be done after tables with constrains on scanned table mysql-test/r/distinct.result: Update results mysql-test/r/group_by.result: Update results mysql-test/r/heap.result: Update results mysql-test/r/join.result: Update results mysql-test/r/key_diff.result: Update results mysql-test/r/myisam.result: Update results mysql-test/r/order_by.result: Update results mysql-test/r/select_safe.result: Update results mysql-test/t/distinct.test: Change test to be repeatable mysql-test/t/join.test: Change test to be repeatable mysql-test/t/select_safe.test: Add tests for MAX_SEEKS_FOR_KEY sql/handler.h: Optimize structure for 64 bit machines (and to avoid problems with gdb) sql/item_cmpfunc.cc: Initialize not_null_tables_cache properly sql/mysqld.cc: Added max_seeks_for_key sql/set_var.cc: Added max_seeks_for_key sql/sql_class.h: Added max_seeks_for_key sql/sql_select.cc: Added max_seeks_for_key Change optimizer to prefer key lookups before table scan. Change table scans to be done after tables with constrains on scanned table
		
			
				
	
	
		
			53 lines
		
	
	
		
			777 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			777 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| drop table if exists t1;
 | |
| CREATE TABLE t1 (
 | |
| a char(5) NOT NULL,
 | |
| b char(4) NOT NULL,
 | |
| KEY (a),
 | |
| KEY (b)
 | |
| );
 | |
| INSERT INTO t1 VALUES ('A','B'),('b','A'),('C','c'),('D','E'),('a','a');
 | |
| select * from t1,t1 as t2;
 | |
| a	b	a	b
 | |
| A	B	A	B
 | |
| b	A	A	B
 | |
| C	c	A	B
 | |
| D	E	A	B
 | |
| a	a	A	B
 | |
| A	B	b	A
 | |
| b	A	b	A
 | |
| C	c	b	A
 | |
| D	E	b	A
 | |
| a	a	b	A
 | |
| A	B	C	c
 | |
| b	A	C	c
 | |
| C	c	C	c
 | |
| D	E	C	c
 | |
| a	a	C	c
 | |
| A	B	D	E
 | |
| b	A	D	E
 | |
| C	c	D	E
 | |
| D	E	D	E
 | |
| a	a	D	E
 | |
| A	B	a	a
 | |
| b	A	a	a
 | |
| C	c	a	a
 | |
| D	E	a	a
 | |
| a	a	a	a
 | |
| explain select t1.*,t2.* from t1,t1 as t2 where t1.A=t2.B;
 | |
| table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| t1	ALL	a	NULL	NULL	NULL	5	
 | |
| t2	ALL	b	NULL	NULL	NULL	4	Using where
 | |
| select t1.*,t2.* from t1,t1 as t2 where t1.A=t2.B order by binary t1.a,t2.a;
 | |
| a	b	a	b
 | |
| A	B	a	a
 | |
| A	B	b	A
 | |
| C	c	C	c
 | |
| a	a	a	a
 | |
| a	a	b	A
 | |
| b	A	A	B
 | |
| select * from t1 where a='a';
 | |
| a	b
 | |
| A	B
 | |
| a	a
 | |
| drop table t1;
 |