A 2.6 product was hydrated from the post and its meta in one pass. A 3.0 product reads what it is asked for, which is usually fewer queries and occasionally many more.
$products = wc_get_products( array( 'limit' => 50 ) );
foreach ( $products as $product ) {
$product->get_price(); // cached with the object
$product->get_attributes(); // may query
$product->get_children(); // definitely queries, per product
}
The loop above is an N+1 that did not exist before, and it appears in exactly the place a catalogue template does its work. wc_get_products() primes the post and meta caches for the set; relations and variations are not primed and need loading deliberately. Counting queries on a product listing after upgrading is worth ten minutes.