From: AugustQ Date: March 31 2012 3:09pm Subject: table-scan-question: more info List-Archive: http://lists.mysql.com/internals/38484 Message-Id: <1333206591.5949.28.camel@AMD4> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Hi, I played a bit with the problem I described in my previous mail. And I found that I've simplified the call-listing too much. Here is a better listing: ha_myc::info ha_myc::cond_push ha_myc::rnd_init ha_myc::extra_opt ha_myc::cond_push ha_myc::rnd_next ........ ha_myc::rnd_end This is the order of the calls for the select-stmt. As you can see cond_push() is called twice. The fist call happens from the file sql_select.cc, the second one comes from records.cc. In the case of the delete- and update-stmts the calls only come from the file records.cc. In records.cc this happens in the function init_read_record() in the last if-block. I do not know: - if I can move this block up in init_read_record() - if this is the correct order: - cond_push() - rnd_init() - rnd_next() - rnd_end() - why cond_push() is called twice in the case of the select-stmt Any tips? Thanks August