June 18, 2013

Post: Extending Index for Innodb tables can hurt performance in a surprising way

select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +—-+————-+———-+——+—————+——+———+——-+——+——————————————+ | 1 | SIMPLE | idxitest | ref | a | a | 4 | const | 1 | Using where; Using index; Using

Post: Index Condition Pushdown in MySQL 5.6 and MariaDB 5.5 and its performance impact

… it aimed at. Index Condition Pushdown Traditional B-Tree index lookups have some limitations in cases such as range scans, where index parts after the part on which range condition is applied cannot be used for…

Post: Using Multiple Key Caches for MyISAM Scalability

I have written before – MyISAM Does Not Scale, or it does quite well – two main things stopping you is table locks … can use traditional TABLES table: mysql> select table_schema,table_name,index_length from information_schema.tables where table_schema=’test’ and table_name in

Post: Covering index and prefix indexes

… covering index if you do not touch columns which only have prefixes in the index. Notice “Using Indexin Extra column. mysql> explain select j,k from t wherein the index but MySQL does not look at the actual data in this case it only looks at definitions. mysql> explain select k from t where

Post: InnoDB Full-text Search in MySQL 5.6 (part 1)

does notindexes, it’s entirely possible to DROP multiple FT indexes with InnoDB in the same ALTER TABLE statement, but it’s notuse_stopword | 1 | | table_state | 0 | +—————————+——–+ 10 rows in set (0.00 sec) mysql> insert into dir_test_innodb (full_name, details) SELECT

Post: Getting MySQL to use full key length

… TABLE does not help, at least in this case. However looks like as one of its side effects FORCE INDEX actually forces index to be used to largest extent possible: mysql> explain SELECT thread_id FROM nn2_msg132.msg132 force index(group_id) WHERE

Post: Quickly finding unused indexes (and estimating their size)

indexes in all_indexes, but not in used_indexes.  These indexes (if our original index statistics are good) are candidates to be dropped: create view droppable_indexes as select all_indexes

Post: Join Optimizations in MySQL 5.6 and MariaDB 5.5

index lookups are performed on table2. Of course this could mean a lot of random lookups in case the dataset does notselected rows from t1 would be read and then for all rows, index lookup would be performed on t2. Here is where…size of the buffer that MRR uses appropriately. In my tests I noticed …

Post: Why Index could refuse to work ?

Using where | +—-+————-+———+——+—————+———+———+——-+——+————-+ 1 row in set (0.00 sec) Looks much better does not

Post: Analyzing air traffic performance with InfoBright and MonetDB

in sense count of direct connected cities for different diapason of years. SELECT DestCityName, COUNT( DISTINCT OriginCityName) FROM ontime WHEREnot able to edit query or check history), the documentation also needs improvements. The fact it does not use