mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge.
This commit is contained in:
@ -351,7 +351,10 @@ protected:
|
||||
Number of comparisons of table rowids equivalent to reading one row from a
|
||||
table.
|
||||
*/
|
||||
#define TIME_FOR_COMPARE_ROWID (TIME_FOR_COMPARE*2)
|
||||
#define TIME_FOR_COMPARE_ROWID (TIME_FOR_COMPARE*100)
|
||||
|
||||
/* cost1 is better that cost2 only if cost1 + COST_EPS < cost2 */
|
||||
#define COST_EPS 0.001
|
||||
|
||||
/*
|
||||
For sequential disk seeks the cost formula is:
|
||||
@ -561,27 +564,27 @@ protected:
|
||||
#define OPTIMIZER_SWITCH_INDEX_MERGE_UNION 2
|
||||
#define OPTIMIZER_SWITCH_INDEX_MERGE_SORT_UNION 4
|
||||
#define OPTIMIZER_SWITCH_INDEX_MERGE_INTERSECT 8
|
||||
#define OPTIMIZER_SWITCH_INDEX_COND_PUSHDOWN 16
|
||||
|
||||
#define OPTIMIZER_SWITCH_FIRSTMATCH 32
|
||||
#define OPTIMIZER_SWITCH_LOOSE_SCAN 64
|
||||
#define OPTIMIZER_SWITCH_MATERIALIZATION 128
|
||||
#define OPTIMIZER_SWITCH_SEMIJOIN 256
|
||||
#define OPTIMIZER_SWITCH_PARTIAL_MATCH_ROWID_MERGE 512
|
||||
#define OPTIMIZER_SWITCH_PARTIAL_MATCH_TABLE_SCAN 1024
|
||||
#define OPTIMIZER_SWITCH_SUBQUERY_CACHE (1<<11)
|
||||
#define OPTIMIZER_SWITCH_MRR_SORT_KEYS (1<<12)
|
||||
#define OPTIMIZER_SWITCH_OUTER_JOIN_WITH_CACHE (1<<13)
|
||||
#define OPTIMIZER_SWITCH_SEMIJOIN_WITH_CACHE (1<<14)
|
||||
#define OPTIMIZER_SWITCH_JOIN_CACHE_INCREMENTAL (1<<15)
|
||||
#define OPTIMIZER_SWITCH_JOIN_CACHE_HASHED (1<<16)
|
||||
#define OPTIMIZER_SWITCH_JOIN_CACHE_BKA (1<<17)
|
||||
#define OPTIMIZER_SWITCH_INDEX_MERGE_SORT_INTERSECT 16
|
||||
#define OPTIMIZER_SWITCH_INDEX_COND_PUSHDOWN 32
|
||||
|
||||
#define OPTIMIZER_SWITCH_FIRSTMATCH 64
|
||||
#define OPTIMIZER_SWITCH_LOOSE_SCAN 128
|
||||
#define OPTIMIZER_SWITCH_MATERIALIZATION 256
|
||||
#define OPTIMIZER_SWITCH_SEMIJOIN 512
|
||||
#define OPTIMIZER_SWITCH_PARTIAL_MATCH_ROWID_MERGE 1024
|
||||
#define OPTIMIZER_SWITCH_PARTIAL_MATCH_TABLE_SCAN (1<<11)
|
||||
#define OPTIMIZER_SWITCH_SUBQUERY_CACHE (1<<12)
|
||||
#define OPTIMIZER_SWITCH_MRR_SORT_KEYS (1<<13)
|
||||
#define OPTIMIZER_SWITCH_OUTER_JOIN_WITH_CACHE (1<<14)
|
||||
#define OPTIMIZER_SWITCH_SEMIJOIN_WITH_CACHE (1<<15)
|
||||
#define OPTIMIZER_SWITCH_JOIN_CACHE_INCREMENTAL (1<<16)
|
||||
#define OPTIMIZER_SWITCH_JOIN_CACHE_HASHED (1<<17)
|
||||
#define OPTIMIZER_SWITCH_JOIN_CACHE_BKA (1<<18)
|
||||
#ifdef DBUG_OFF
|
||||
# define OPTIMIZER_SWITCH_LAST (1<<18)
|
||||
#else
|
||||
# define OPTIMIZER_SWITCH_TABLE_ELIMINATION (1<<18)
|
||||
# define OPTIMIZER_SWITCH_LAST (1<<19)
|
||||
#else
|
||||
# define OPTIMIZER_SWITCH_TABLE_ELIMINATION (1<<19)
|
||||
# define OPTIMIZER_SWITCH_LAST (1<<20)
|
||||
#endif
|
||||
|
||||
#ifdef DBUG_OFF
|
||||
@ -2331,6 +2334,8 @@ ha_rows filesort(THD *thd, TABLE *form,struct st_sort_field *sortorder,
|
||||
ha_rows max_rows, bool sort_positions,
|
||||
ha_rows *examined_rows);
|
||||
void filesort_free_buffers(TABLE *table, bool full);
|
||||
double get_merge_many_buffs_cost(uint *buffer, uint last_n_elems,
|
||||
int elem_size);
|
||||
void change_double_for_sort(double nr,uchar *to);
|
||||
double my_double_round(double value, longlong dec, bool dec_unsigned,
|
||||
bool truncate);
|
||||
|
Reference in New Issue
Block a user