Вчерашний запрос, "заморозивший" миграцию на три часа:
SELECT entity_id, MAX(start_date), MAX(end_date) FROM ( SELECT entity_id, MAX(start_date) start_date, NULL AS end_date FROM audit_log WHERE attr = 'reviewed' AND newValue = 'true' GROUP BY entity_id UNION ALL SELECT entity_id, NULL AS start_date, MAX(end_date) end_date FROM audit_log WHERE attr = 'overriden' AND newValue = 'true' GROUP BY entity_id ) a GROUP BY entity_id;
можно было бы написать сильно оптимальнее вот так:
SELECT entity_id, MAX(if(attr = 'reviewed', NULL, start_date)) AS start_date, MAX(if(attr = 'reviewed', end_date, NULL)) end_date FROM audit_log WHERE (attr = 'reviewed' OR attr='overriden') AND newValue = 'true' GROUP BY entity_id;
При сильно похожих WHERE в таких конструкциях, удобнее схлопнуть UNION и "на лету" подставлять в SELECT нужное значение через if.
Вчерашний запрос, "заморозивший" миграцию на три часа:
SELECT entity_id, MAX(start_date), MAX(end_date) FROM ( SELECT entity_id, MAX(start_date) start_date, NULL AS end_date FROM audit_log WHERE attr = 'reviewed' AND newValue = 'true' GROUP BY entity_id UNION ALL SELECT entity_id, NULL AS start_date, MAX(end_date) end_date FROM audit_log WHERE attr = 'overriden' AND newValue = 'true' GROUP BY entity_id ) a GROUP BY entity_id;
можно было бы написать сильно оптимальнее вот так:
SELECT entity_id, MAX(if(attr = 'reviewed', NULL, start_date)) AS start_date, MAX(if(attr = 'reviewed', end_date, NULL)) end_date FROM audit_log WHERE (attr = 'reviewed' OR attr='overriden') AND newValue = 'true' GROUP BY entity_id;
При сильно похожих WHERE в таких конструкциях, удобнее схлопнуть UNION и "на лету" подставлять в SELECT нужное значение через if.
BY Developer's mind
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
n the U.S. people generally use Bitcoin as an alternative investment, helping diversify a portfolio apart from stocks and bonds. You can also use Bitcoin to make purchases, but the number of vendors that accept the cryptocurrency is still limited. Big companies that accept Bitcoin include Overstock, AT&T and Twitch. You may also find that some small local retailers or certain websites take Bitcoin, but you’ll have to do some digging. That said, PayPal has announced that it will enable cryptocurrency as a funding source for purchases this year, financing purchases by automatically converting crypto holdings to fiat currency for users. “They have 346 million users and they’re connected to 26 million merchants,” says Spencer Montgomery, founder of Uinta Crypto Consulting. “It’s huge.”
NEWS: Telegram supports Facetime video calls NOW!
Secure video calling is in high demand. As an alternative to Zoom, many people are using end-to-end encrypted apps such as WhatsApp, FaceTime or Signal to speak to friends and family face-to-face since coronavirus lockdowns started to take place across the world. There’s another option—secure communications app Telegram just added video calling to its feature set, available on both iOS and Android. The new feature is also super secure—like Signal and WhatsApp and unlike Zoom (yet), video calls will be end-to-end encrypted.