protected function checkAndCreateIndexesIfNecessary($check_index_once_in = 1000) { //statistical approach to building the index on average once every x times $check_index_once_in = min(1000, $check_index_once_in); if (rand(1, $check_index_once_in) % $check_index_once_in === 0) { $this->createIndexes(); } }