Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mysql> DESC ftransrembt;
- +----------------------+-----------+------+-----+-------------------+-----------------------------+
- | Field | Type | Null | Key | Default | Extra |
- +----------------------+-----------+------+-----+-------------------+-----------------------------+
- | trnumremboursement_l | int(11) | NO | PRI | 0 | |
- | trnumorigine_l | int(11) | NO | PRI | 0 | |
- | trmont_l | int(11) | YES | | NULL | |
- | trdatemodif_ts | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
- +----------------------+-----------+------+-----+-------------------+-----------------------------+
- 4 rows in set (0.00 sec)
- mysql> SHOW CREATE TABLE ftransrembt;
- +-------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | Table | Create Table |
- +-------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | ftransrembt | CREATE TABLE `ftransrembt` (
- `trnumremboursement_l` int(11) NOT NULL DEFAULT '0',
- `trnumorigine_l` int(11) NOT NULL DEFAULT '0',
- `trmont_l` int(11) DEFAULT NULL COMMENT 'Montant du remboursement',
- `trdatemodif_ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Date et heure de derniere modification de l enregistrement',
- PRIMARY KEY (`trnumremboursement_l`,`trnumorigine_l`),
- KEY `trnumorigine_idx` (`trnumorigine_l`)
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
- +-------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- 1 row in set (0.00 sec)
- mysql> EXPLAIN SELECT 'toto', (SELECT CONCAT(SUM(ft.trmont_l), count(*)) FROM ftrans AS ft INNER JOIN ftransrembt ON trnum_l = trnumremboursement_l WHERE trnumorigine_l = ftrans.trnum_l OR trnumremboursement_l = ftrans.trnum_l) AS total FROM ftrans WHERE trnum_l IN (113729282);+----+--------------------+-------------+-------------+--------------------------+--------------------------+---------+-------------------------------------------+------+----------------------------------------------------+
- | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
- +----+--------------------+-------------+-------------+--------------------------+--------------------------+---------+-------------------------------------------+------+----------------------------------------------------+
- | 1 | PRIMARY | ftrans | const | PRIMARY | PRIMARY | 4 | const | 1 | Using index |
- | 2 | DEPENDENT SUBQUERY | ftransrembt | index_merge | PRIMARY,trnumorigine_idx | trnumorigine_idx,PRIMARY | 4,4 | NULL | 3 | Using union(trnumorigine_idx,PRIMARY); Using where |
- | 2 | DEPENDENT SUBQUERY | ft | eq_ref | PRIMARY | PRIMARY | 4 | tpewebv2.ftransrembt.trnumremboursement_l | 1 | |
- +----+--------------------+-------------+-------------+--------------------------+--------------------------+---------+-------------------------------------------+------+----------------------------------------------------+
- 3 rows in set (0.00 sec)
- mysql> EXPLAIN SELECT 'toto', (SELECT CONCAT(SUM(ft.trmont_l), count(*)) FROM ftrans AS ft INNER JOIN ftransrembt ON trnum_l = trnumremboursement_l WHERE trnumorigine_l = ftrans.trnum_l OR trnumremboursement_l = ftrans.trnum_l) AS total FROM ftrans WHERE trnum_l IN (113729282,317846840);
- +----+--------------------+-------------+--------+--------------------------+------------------+---------+-------------------------------------------+--------+--------------------------+
- | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
- +----+--------------------+-------------+--------+--------------------------+------------------+---------+-------------------------------------------+--------+--------------------------+
- | 1 | PRIMARY | ftrans | range | PRIMARY | PRIMARY | 4 | NULL | 2 | Using where; Using index |
- | 2 | DEPENDENT SUBQUERY | ftransrembt | index | PRIMARY,trnumorigine_idx | trnumorigine_idx | 4 | NULL | 198455 | Using where; Using index |
- | 2 | DEPENDENT SUBQUERY | ft | eq_ref | PRIMARY | PRIMARY | 4 | tpewebv2.ftransrembt.trnumremboursement_l | 1 | Using where |
- +----+--------------------+-------------+--------+--------------------------+------------------+---------+-------------------------------------------+--------+--------------------------+
- 3 rows in set (0.00 sec)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement