Buenas amigos.
Tengo la siguiente tabla con alrededor 5.8 millones de records y va subiendo
Código:
Y al hacer una consulta tonta por ejemplo:Table: email_addon_rbp_soft_bounces +----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+----------------+ | uid | int(11) | NO | PRI | NULL | auto_increment | | log_id | int(11) | YES | | NULL | | | from | varchar(255) | YES | | NULL | | | rcpt | varchar(255) | YES | | NULL | | | status | varchar(255) | YES | | NULL | | | message | varchar(255) | YES | | NULL | | | ip | varchar(45) | YES | | NULL | | | cat_pmta | varchar(45) | YES | | NULL | | | date | int(11) | NO | | 0 | | +----------+--------------+------+-----+---------+----------------+
Código MySQL:
Ver original
Se demore 8.9 segundos, lo cual creo que no es aceptable.
INDEX:
Código:
Resultadosmysql> SHOW INDEXES FROM email_addon_rbp_soft_bounces; +------------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +------------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | email_addon_rbp_soft_bounces | 0 | PRIMARY | 1 | uid | A | 4563144 | NULL | NULL | | BTREE | | | +------------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 1 row in set (0.00 sec)
Código:
He intentado, poniendole index a las columnas: status , messagesmysql> SHOW PROFILES; +----------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Query_ID | Duration | Query | +----------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 1 | 8.09367700 | SELECT * FROM email_addon_rbp_soft_bounces WHERE log_id !=0 AND (message LIKE '%rdns%' OR status LIKE '%rdns%') ORDER BY RAND(),uid DESC LIMIT 10 | | 2 | 8.12044200 | SELECT * FROM email_addon_rbp_soft_bounces WHERE log_id !=0 AND (message LIKE '%rdns%' OR status LIKE '%rdns%') ORDER BY RAND(),uid DESC LIMIT 10 | | 3 | 8.77664800 | SELECT * FROM email_addon_rbp_soft_bounces WHERE log_id !=0 AND (message LIKE '%rdns%' OR status LIKE '%rdns%') ORDER BY RAND(),uid DESC LIMIT 10 | | 4 | 6.74022600 | SELECT status,message FROM email_addon_rbp_soft_bounces WHERE log_id !=0 AND (message LIKE '%rdns%' OR status LIKE '%rdns%') ORDER BY RAND(),uid DESC LIMIT 10 | | 5 | 6.90966600 | SELECT status,message FROM email_addon_rbp_soft_bounces WHERE log_id !=0 AND (message LIKE '%rdns%' OR status LIKE '%rdns%') ORDER BY RAND(),uid DESC LIMIT 10 | | 6 | 7.88677300 | SELECT status,message FROM email_addon_rbp_soft_bounces WHERE log_id !=0 AND (message LIKE '%rbl%' OR status LIKE '%rbl%') ORDER BY RAND(),uid DESC LIMIT 10 | | 7 | 7.71468000 | SELECT status,message FROM email_addon_rbp_soft_bounces WHERE log_id !=0 AND (message LIKE '%rbl%' OR status LIKE '%rbl%') ORDER BY RAND(),uid DESC LIMIT 10 | | 8 | 7.42245500 | SELECT status,message FROM email_addon_rbp_soft_bounces WHERE log_id !=0 AND (message LIKE '%rbl%' OR status LIKE '%rbl%') ORDER BY RAND(),uid DESC LIMIT 10 | | 9 | 8.02358500 | SELECT status,message FROM email_addon_rbp_soft_bounces WHERE log_id !=0 AND (message LIKE '%rbl%' OR status LIKE '%rbl%') ORDER BY RAND(),uid DESC LIMIT 10 | | 10 | 6.79185700 | SELECT status,message FROM email_addon_rbp_soft_bounces WHERE log_id !=0 AND (message LIKE '%rbl%' OR status LIKE '%rbl%') ORDER BY RAND(),uid DESC LIMIT 10 | | 11 | 6.85658500 | SELECT status,message FROM email_addon_rbp_soft_bounces WHERE log_id !=0 AND (message LIKE '%rbl%' OR status LIKE '%rbl%') ORDER BY RAND(),uid DESC LIMIT 10 | | 12 | 7.00494600 | SELECT status,message FROM email_addon_rbp_soft_bounces WHERE log_id !=0 AND (message LIKE '%rbl%' OR status LIKE '%rbl%') ORDER BY RAND(),uid DESC LIMIT 10 | +----------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 12 rows in set (0.00 sec)
INDEX CONJUNTA:
Código:
mysql> SHOW INDEXES FROM email_addon_rbp_soft_bounces; +------------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +------------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | email_addon_rbp_soft_bounces | 0 | PRIMARY | 1 | uid | A | 4703981 | NULL | NULL | | BTREE | | | | email_addon_rbp_soft_bounces | 1 | search | 1 | status | A | 18 | NULL | NULL | YES | BTREE | | | | email_addon_rbp_soft_bounces | 1 | search | 2 | message | A | 4703981 | NULL | NULL | YES | BTREE | | | +------------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 3 rows in set (0.01 sec)
connection closed.