mirror of
https://github.com/MariaDB/server.git
synced 2025-06-21 04:01:24 +02:00
![]() (Review input addressed) After this patch, the optimizer can handle virtual column expressions in WHERE/ON clauses. If the table has an indexed virtual column: ALTER TABLE t1 ADD COLUMN vcol INT AS (col1+1), ADD INDEX idx1(vcol); and the query uses the exact virtual column expression: SELECT * FROM t1 WHERE col1+1 <= 100 then the optimizer will be able use index idx1 for it. This is achieved by walking the WHERE/ON clauses and replacing instances of virtual column expression (like "col1+1" above) with virtual column's Item_field (like "vcol"). The latter can be processed by the optimizer. Replacement is considered (and done) only in items that are potentially usable to the range optimizer. |
||
---|---|---|
.. | ||
federated_gcol.result | ||
gcol_archive.result | ||
gcol_blackhole.result | ||
gcol_blocked_sql_funcs_innodb.result | ||
gcol_blocked_sql_funcs_myisam.result | ||
gcol_bug20746926.result | ||
gcol_bugfixes.result | ||
gcol_column_def_options_innodb.result | ||
gcol_column_def_options_myisam.result | ||
gcol_csv.result | ||
gcol_falcon.result | ||
gcol_handler_innodb.result | ||
gcol_handler_myisam.result | ||
gcol_ins_upd_innodb.result | ||
gcol_ins_upd_myisam.result | ||
gcol_keys_innodb.result | ||
gcol_keys_myisam.result | ||
gcol_memory.result | ||
gcol_merge.result | ||
gcol_ndb.result | ||
gcol_non_stored_columns_innodb.result | ||
gcol_non_stored_columns_myisam.result | ||
gcol_partition_innodb.result | ||
gcol_partition_myisam.result | ||
gcol_purge.result | ||
gcol_rejected_innodb.result | ||
gcol_rollback.result | ||
gcol_select_innodb.result | ||
gcol_select_myisam.result | ||
gcol_supported_sql_funcs_innodb.result | ||
gcol_supported_sql_funcs_myisam.result | ||
gcol_trigger_sp_innodb.result | ||
gcol_trigger_sp_myisam.result | ||
gcol_update.result | ||
gcol_view_innodb.result | ||
gcol_view_myisam.result | ||
innodb_partition.result | ||
innodb_prefix_index_check.result | ||
innodb_virtual_basic.result | ||
innodb_virtual_blob.result | ||
innodb_virtual_debug.result | ||
innodb_virtual_debug_purge.result | ||
innodb_virtual_fk.result | ||
innodb_virtual_fk_restart.result | ||
innodb_virtual_index.result | ||
innodb_virtual_purge.result | ||
innodb_virtual_rebuild.result | ||
innodb_virtual_stats.result | ||
innodb_wl8114.result | ||
main_alter_table.result | ||
main_mysqldump.result | ||
rpl_gcol.result | ||
virtual_index_drop.result |