blizzard писал(а):
skn писал(а):
blizzard писал(а):
это есть в КАЖДОМ НОРМАЛЬНОМ БИЛЛИНГЕ !)
запрос езвращенский, ибо структура mysql баз очень кривая у вас
1) а кто сказал, что наш биллинг относится к "НОРМАЛЬНЫМ"?
2) а так "
select * from contract_balance where cid=<CID> order by yy desc, mm desc limit 1" слабо?
1) все же не терял надежды
2) запросы все же идентичны для мускуля по нагрузке, я больше поклонник oracle, нежели mysql...
1) а можно узнать критерии "НОРМАЛЬНОСТИ", например для биллинга, человека, автомобиля?
2) ну если для вас это одинаково, то вопросов не имею....
Код:
mysql> explain SELECT (`summa1`-`summa3`)+`summa2` as `balance` FROM `contract_balance` WHERE `mm` = (SELECT MAX(`mm`) FROM `contract_balance` WHERE `yy` = (SELECT MAX(`yy`) FROM `contract_balance`)) AND `cid` = 793;
+----+-------------+------------------+-------+---------------+---------+---------+-------+-------+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+------------------+-------+---------------+---------+---------+-------+-------+--------------------------+
| 1 | PRIMARY | contract_balance | ref | PRIMARY,cid | PRIMARY | 4 | const | 69 | Using where |
| 2 | SUBQUERY | contract_balance | index | NULL | cid | 4 | NULL | 26545 | Using where; Using index |
| 3 | SUBQUERY | contract_balance | index | NULL | cid | 4 | NULL | 26545 | Using index |
+----+-------------+------------------+-------+---------------+---------+---------+-------+-------+--------------------------+
3 rows in set (0.01 sec)
mysql> explain select * from contract_balance where cid=793 order by yy desc, mm desc limit 1;
+----+-------------+------------------+------+---------------+---------+---------+-------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+------------------+------+---------------+---------+---------+-------+------+-------------+
| 1 | SIMPLE | contract_balance | ref | PRIMARY,cid | PRIMARY | 4 | const | 69 | Using where |
+----+-------------+------------------+------+---------------+---------+---------+-------+------+-------------+
1 row in set (0.00 sec)
P.S. поэтому и не используем оракл... что бы народ головой думал, а не надеялся, что за него комп работать будет!